我有一个程序旨在模拟交通,除跟踪运动外,所有过程(运动,拉新车,对交通信号灯做出反应)都可以正常工作。
我使用了吸气剂方法
float getXposition(){
return x;
}
float getYposition(){
return y;
}
确定我的子画面的位置,但是我的问题是与位置有关的条件。例如,我的do while循环
do {
topcar.setYvelocity((topcar.getYvelocity()/2));
}while(topcar.getYposition() < 275);
总是被绕过。
更新方法
public void update() { // update position and velocity every n milliSec
// default - just move at constant velocity
x += dx; // velocity in x direction
y += dy; // velocity in y direction
}
public void actionPerformed(ActionEvent arg0) {
// called by Timer every 50 milliseconds
for (SimpleSprite s : SimpleSprite.sprites)
s.update(); // update positions of all sprites
repaint();
}
我想要做的是使它变为红色,当车灯变红时,汽车小精灵应减速至一半速度,直到到达y坐标275,然后停止,但相反,我的小精灵将在灯光一转后突然停止红色