如何使我的动画分步进行而不是连续进行?从屏幕顶部到底部应该完全有8个等距的步骤。
这是我的代码:
int x = 0;
int y = 0;
int dy = 1;
boolean OrangeSquare = true;
void setup() {
size(1280, 720);
surface.setResizable(true);
dy = (height/8);
}
void draw() {
background(240, 240, 240);
fill(255, 147, 79);
rect(x, y, width/14.222222222, height/8);
if(OrangeSquare){
y += dy;
}
if(y + height/8 > height || y < 0) {
dy *= -1;
}
}
void keyPressed(){
if (keyCode == ' '){
OrangeSquare = !OrangeSquare;
}
}
我认为这可能是您要寻找的内容:
int x = 0;
int y = 0;
int dy = 1;
boolean OrangeSquare = true;
void setup() {
size(1280, 720);
surface.setResizable(true);
dy = (height/8);
}
void draw() {
background(240, 240, 240);
fill(255, 147, 79);
rect(x, y, width/14.222222222, height/8);
}
void keyPressed(){
if (keyCode == ' '){
OrangeSquare = !OrangeSquare;
if(OrangeSquare){
y += dy;
}
if(y + height/8 > height || y < 0) {
dy *= -1;
}
}
}
尝试使直接连续逻辑远离draw()函数。