如何在循环中保存变量以便稍后再次使用它?
How do i save a variable in a loop to use it again later?
我想制作一个程序,将椭圆设置为彼此相邻,直到有人触及我的 canvas 的边界,然后向另一个方向前进。不幸的是,它只在一个方向上工作,当它到达右边时停止 border.Is 有没有办法在某个时候保存 sx
变量以便在第二个 if 语句中再次使用它?
void setup() {
size(700, 500);
frameRate(20); // frame rate = 20 Hz
}
int sx=50;
int sy=50;
int dx=15;
void draw() {
if(sx<width){
ellipse(sx,sy,20,20);
sx=sx+dx;
if(sx>width){
sx=sx-dx;
}
}
}
sx
在全局范围内,因此不需要 "store" 它,因为该值是持久的。
你想做的很简单。关键是 dx
而不是 sx
。如果椭圆到达 window 的边界,则必须改变方向。这可以通过反转 dx
.
来实现
当 sx
位于右边界 (sx >= width
) 或左边界 (sx <= 0
) 时,反转 dx
(dx *= -1
)。例如:
void setup() {
size(700, 500);
frameRate(20); // frame rate = 20 Hz
}
int sx=50;
int sy=50;
int dx=15;
void draw() {
background(196);
ellipse(sx,sy,20,20);
sx=sx+dx;
if (sx >= width || sx <= 0 ){
dx *= -1;
}
}
我想制作一个程序,将椭圆设置为彼此相邻,直到有人触及我的 canvas 的边界,然后向另一个方向前进。不幸的是,它只在一个方向上工作,当它到达右边时停止 border.Is 有没有办法在某个时候保存 sx
变量以便在第二个 if 语句中再次使用它?
void setup() {
size(700, 500);
frameRate(20); // frame rate = 20 Hz
}
int sx=50;
int sy=50;
int dx=15;
void draw() {
if(sx<width){
ellipse(sx,sy,20,20);
sx=sx+dx;
if(sx>width){
sx=sx-dx;
}
}
}
sx
在全局范围内,因此不需要 "store" 它,因为该值是持久的。
你想做的很简单。关键是 dx
而不是 sx
。如果椭圆到达 window 的边界,则必须改变方向。这可以通过反转 dx
.
当 sx
位于右边界 (sx >= width
) 或左边界 (sx <= 0
) 时,反转 dx
(dx *= -1
)。例如:
void setup() {
size(700, 500);
frameRate(20); // frame rate = 20 Hz
}
int sx=50;
int sy=50;
int dx=15;
void draw() {
background(196);
ellipse(sx,sy,20,20);
sx=sx+dx;
if (sx >= width || sx <= 0 ){
dx *= -1;
}
}