Processing 如何创建使对象移动的方法

Processing 如何创建使对象移动的方法,processing,Processing,我正在尝试创建一种处理方法,在屏幕上移动一个球。然而,当我按下键时,球不会移动,不管理论上它应该移动。我做错了什么 float x=100; 浮动y=100; 无效设置(){ 尺寸(400400); } 作废提款(){ 填充(0); 椭圆(x,y,10,10); move(); } 无效重置(){ x=高度/2; y=宽度/2; } 无效移动(){ 如果(按下键==真){ 如果(键=='a'){ x=x-3; }否则如果(键='s'){ y=y+3; }否则如果(键=='d'){ x=x+3;

我正在尝试创建一种处理方法,在屏幕上移动一个球。然而,当我按下键时,球不会移动,不管理论上它应该移动。我做错了什么

float x=100;
浮动y=100;
无效设置(){
尺寸(400400);
}
作废提款(){
填充(0);
椭圆(x,y,10,10);
move();
}
无效重置(){
x=高度/2;
y=宽度/2;
}
无效移动(){
如果(按下键==真){
如果(键=='a'){
x=x-3;
}否则如果(键='s'){
y=y+3;
}否则如果(键=='d'){
x=x+3;
}否则,如果(键=='w'){
y=y+3;
}否则如果(键==''){
重置();
}
}
}

当我运行你的代码时,我确实看到圆圈在移动。您刚刚遇到了两个问题:

首先,您没有清除旧帧,因此,您不只是看到一个球,而是在球的所有先前位置看到一条轨迹。要解决此问题,可以每帧调用
background()
函数


其次,当用户同时按下
w
s
键时,您也在做同样的事情。所以在这两种情况下球都会落下。您可以通过更改
w
案例中的逻辑来解决此问题。

更新坐标后,您可能需要
draw()
。@mustaccio Processing自动调用
draw()
函数。我如何解决此问题?将draw放在末尾没有帮助,我看不出在代码中keyPressed在哪里变为true。@ZayedUpal处理自动设置
keyPressed
变量。