当尝试从框架中来回制作一个矩形时,它会留下一个覆盖背景的黑色矩形。
这是我的代码:
float x = 0;
float y = 0;
float speed = 1;
void setup() {
size(500,500);
background(255);
}
void draw() {
move();
display();
}
void move() {
x = x + speed;
if (x > width) {
x = 0;
}
}
void display() {
rect(x,y,30,10);
}
现在我讨厌它,因为它几乎与示例中的完全相同。 编辑:我不想要它留下的黑色。现在做一些研究..
答案 0 :(得分:2)
为了避免拖尾三角形,您需要在重绘三角形之前重新绘制背景,否则它只会在顶部绘制另一个三角形。
你应该添加;
background(255);
到draw()
和move()
之前的display()
方法。
希望这有帮助。
答案 1 :(得分:0)
在处理中,void setup()仅在草图启动时调用一次。这就是您在其中定义画布大小的原因。 (因为画布方面没有改变)
另一方面,void draw()一直在运行。因此,任何在程序运行时发生变化的活动内容都需要在其中。
float x = 0;
float y = 0;
float speed = 1;
void setup() {
size(500,500);
}
void draw() {
background(255);
move();
display();
}
void move() {
x = x + speed;
if (x > width) {
x = 0;
}
}
void display() {
rect(x,y,30,10);
}