敵がランダムに出現し、画面上のポイントに向かって移動するゲームを作成しようとしています。私の問題は、プログラムがそれらが生成されるのを待ち、それらが移動を開始することです。スポーンするときに動き始め、それぞれの間に短い休憩をとってもらいたいです。
それらを動かす背後にある 2 つの主な方法を次に示します。
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 ループにカウンターがありますが、最終的には、ゲームに負けた場合にのみ停止する条件付き無限ループに移動したいと考えています。
ご協力いただきありがとうございます。問題をさらに明確にする必要があるかどうかをお知らせください。