Processing 正在处理rect语句,留下其他黑色矩形的痕迹
当试图使一个矩形从帧中来回移动时,它会留下一个覆盖背景的黑色矩形 这是我的密码:Processing 正在处理rect语句,留下其他黑色矩形的痕迹,processing,Processing,当试图使一个矩形从帧中来回移动时,它会留下一个覆盖背景的黑色矩形 这是我的密码: 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; } }
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);
}
现在我讨厌它,因为它与示例中的代码几乎完全相同。
编辑:我不想要它留下的黑色。现在做一些研究。为了避免三角形的拖尾,在重新绘制三角形之前,需要重新绘制背景,否则它只会在顶部绘制另一个三角形 你应该加上
background(255);
到move()
和display()
之前的draw()
方法
希望这能有所帮助。在处理中,仅在草图启动时调用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);
}
那么你的问题是什么?你想要什么样的行为?我不想要它留下的黑色矩形