我正在尝试创建一个游戏,其中敌人将随机生成并朝屏幕上的某个点移动。我的问题是程序等待它们产生并且它们开始移动它们。我希望它们在产卵时开始移动,并在它们之间稍作休息。
以下是使它们移动的两种主要方法:
public void newLevel() {
runOnUiThread(new Runnable(){
public void run() {
int i = 0;
while( i < 10){
addSpeks();
i++;
try {
Thread.sleep(2000);
}
catch(InterruptedException ie){
ie.printStackTrace();
}
}
}
});
}
public void addSpeks() {
Spek newSpek = new Spek(this);
setRandomRegion();
newSpek.setX(spawnX);
newSpek.setY(spawnY);
relativeLayout.addView(newSpek);
spekList.add(newSpek);
newSpek.setOnClickListener(spekListener);
newSpek.animate().x(finalX).y(finalY).setDuration(8000);
}
Spek 是一个简单的类,它扩展了 ImageView 和 setRandomRegion() 选择屏幕边框上的随机 x、y 坐标。为简单起见,我在 while 循环中有一个计数器,但我想最终将其移至条件无限循环,只有在您输掉游戏时它才会停止。
感谢您的帮助,如果问题需要更多说明,请告诉我。