java - 如何将变量保存在循环中以便以后再次使用?
问题描述
我想制作一个程序,将椭圆设置为彼此相邻,直到一个人触及我的画布的边框,然后朝另一个方向前进。不幸的是,它只在一个方向上起作用,当它碰到右边界时停止。有没有办法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
在全局范围内,因此无需“存储”它,因为该值是持久的。
你想要做的很简单。关键是dx
而不是sx
。如果椭圆到达窗口的边界,则必须改变方向。这可以通过反相来实现dx
。
当位于右边界 ( ) 或左边界( ) 时,反转dx
( )。例如:dx *= -1
sx
sx >= width
sx <= 0
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;
}
}
推荐阅读
- php - 在 foreach 循环中引用刚刚在数组中设置的值
- sql - 由于 output.inserted id 错误,无法将记录添加到数据库中
- python - 在 Divio 上为 Wagtail 应用程序部署静态文件
- c++ - 了解复制初始化和隐式转换
- apache-spark - SparkSQL 尝试从不存在的路径读取数据
- laravel - Laravel Blade 模板堆栈不起作用
- php - 我在 PHP 中创建一个 API 并使用 curl 操作,我正在接收并能够使用我的 curl 发送数据,但一段时间后我收到此错误“
- javascript - 如何在本机反应(iOS)中检查退格(删除)keyPress
- android - 您需要在系统上安装 Android SDK 22 或更高版本以及最新的 Android Support Repository
- java - Java 8 - 对象列表上的可选类