当前位置: 首页 > 知识库问答 >
问题:

绘制随机图像libgdx

董砚
2023-03-14

我的迭代器

 Iterator<Rectangle> upperIter = upperPipes.iterator();
      while(upperIter.hasNext()) {
         Rectangle upperpipe = upperIter.next();
         upperpipe.x -= 8 * Gdx.graphics.getDeltaTime();
         if(upperpipe.x  < -32) upperIter.remove();

我的绘图方法

public void drawPipes(){
    batch.begin();
       for(Rectangle upperPipe: Pipes.lowerPipes) {
           batch.draw(Assets.pipeImg, upperPipe.x, upperPipe.y,   upperPipe.width, upperPipe.height);
        batch.end();

       }

共有1个答案

邵宜年
2023-03-14

获取可重复随机数据的一个很好的方法是使用random对象(java.util.random适合游戏使用),并为其提供非随机种子。每次输入种子并请求相同的数字类型+范围序列时,您将得到相同的(psuedo-)随机数。当你想要不同的数字时,只需改变种子。

例如:

Random rand = new Random(1234);
System.out.println(rand.nextInt()); // an int from Integer.MIN to Integer.MAX
System.out.println(rand.nextInt(100)); // an int from 0 to 100

每次都会输出以下内容。

-1517918040
33
public void drawPipes(){

    for(int i = 0; i<Pipes.color.size; i++){
        num = Pipes.color.get(i);
    }

    for(Rectangle bottomPipe: Pipes.lowerPipes) {
        switch(num){
            case 0:
                batch.draw(Assets.redPipeImg, bottomPipe.x, bottomPipe.y, bottomPipe.width, bottomPipe.height);
                break;
            case 1:
                batch.draw(Assets.yellowPipeImg, bottomPipe.x, bottomPipe.y, bottomPipe.width, bottomPipe.height); 
                break;
        }
    }
}
 类似资料:
  • 问题内容: 因此,我正在创建一个免费的手绘图JPanel,它会响应鼠标的移动并 绘制线条。我得到了它的大部分工作,除了一个错误,它会 在线之间随机画一条直线。该随机直线不是 故意的,在缓冲图像上绘制的内容严格来说应该是 用户绘制的内容。这些随机绘制的线不是由用户完成的, 这令人困惑。以下是我的代码,任何人都可以看看吗?所包含的图像 使您可以直观地看到正在执行的操作。 问题答案: 您可能希望嵌套列表

  • 假设我有一个像素化的图像……我想用处理来重画它。 起初应该有一个随机的彩色像素网格——过了一段时间,像素化的图像会通过这个像素化的网格出现。 我想我可以用这样的系统来处理这个问题:如果一个特定的随机颜色的像素与像素化图像的颜色相匹配,那么应该会有一个新的像素被绘制出来。 为了更好地理解,请看一下这段代码: 所以我能够在颜色匹配的情况下绘制像素——但是因为彩色噪声是随机绑定的——它们会再次消失……我

  • 除了绘制矢量图形和文本之外,canvas还提供了极为丰富的图像支持。开发者可以选择绘制某幅图像的全部或某个部分,在绘制时可以进行缩放或保持原样,可以把图像绘制到画布的任何地方。同时,还允许开发人员直接访问画布的像素数据。数据访问是双向的,既可以获取画布中的像素数据,也可以把像素重新绘制到画布中。 Canvas的API提供了如下4个用于绘制及操作图像的方法: drawImage():把图像、或另一个

  • 通过绘制一幅简单的图像,让我们直奔主题。本节,我们将学习如何加载一幅图像,并把它绘制到画布的某个地方。 图3-1 绘制图像 绘制步骤 按照以下步骤,在画布中央绘制一幅图像: 1. 定义画布上下文: window.onload  = function(){ var canvas  = document.getElementById("myCanvas"); var context  = c

  • 2D 绘图上下文内置了对图像的支持。如果你想把一幅图像绘制到画布上,可以使用drawImage()方法。根据期望的最终结果不同,调用这个方法时,可以使用三种不同的参数组合。最简单的调用方式是传入一个HTML <img>元素,以及绘制该图像的起点的x 和y 坐标。例如: var image = document.images[0]; context.drawImage(image, 10, 10);

  • 我正在用-库在中创建一个随机图。 这将创建以下情节: 如你所见,它创建了两个不同的图——即使给定相同的节点和边。我如何让R图显示相同的图,这样我就可以在顺序相同的情况下突出显示一些边/节点。 目标是创建一个随机网络,在一定程度上,两个节点通过一条边连接(上面的例子是,对于节点)。然后,每次我绘制该图时,都会将节点绘制在同一点上(即使节点大小不同)。 我如何做到这一点?请注意,我不限于