我正在尝试使图像在处理中移动,但是图像留下了痕迹。让我绊倒的重要部分是,我无法在draw()中声明背景,因为我还有其他放置图像的功能。以下是相关代码:

    void setup()
{
  size(752,500);
  background = loadImage("prairie.jpg");
  background(background);
  noStroke();

  animal = loadImage("squirrel.png");
  bird = loadImage("bird.gif");
  rock = loadImage("rock.png");
  cloud = loadImage("cloud.png");
  jeep = loadImage("jeep.png");
  flower = loadImage("flower.png");
}

  float jeepX = 752;
  float jeepY = 250;
  float size = 100;

void draw()
{
  image(jeep,150,350,125,125);

  image(jeep,jeepX,jeepY,size,size);

  jeepX--;
  jeepY = jeepY + .25;
  size += .25;
  image(jeep,jeepX + 1,jeepY - .25, size -.25, size - .25, 0,0,0,0);


  if(jeepY > height)
  {
    jeepX = 752;
    jeepY = 250;
    size = 100;
  }
        }


这是给实验室使用的,助教不知道如何,而且我还没有机会去问教授。

如果没有人知道答案和/或与其他功能(放置图像)有关,我将发布相关代码。

最佳答案

为了使移动的物体不留痕迹,必须在重新绘制图片之前先清除边框(如果没有,请不要忘记重置背景)

实际上,它会绘制一辆吉普车,然后再绘制另一辆吉普车。

09-30 15:08
查看更多