적을 무작위로 산란시키고 화면의 한 지점으로 이동하는 게임을 만들려고합니다. 내 문제는 프로그램이 스폰하기를 기다리고 이동하기 시작한다는 것입니다. 나는 그들이 산란하면서 움직이기 시작하고 각각의 사이에 잠시 휴식을 취하기를 원합니다.주기적으로 적을 산란시키는 방법
은 여기에서 이동하게 뒤의 두 가지 주요 방법이있다 :
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 보낸이 이미지 뷰와 setRandomRegion()을 임의의 X를 선택 연장 간단한 클래스이고, Y는 화면의 테두리에 좌표. while 루프에는 단순화를 위해 카운터가 있지만 결국 게임을 잃어 버리면 중지되는 조건부 무한 루프로 이동하려고합니다.
도움을 주셔서 감사 드리며 문제가 더 명확하게 설명되어 져야하는지 알려주세요.
첫째, 당신의 Runnable
작성 :
예심 !!!!! 고맙습니다. 나는 이것을 며칠 동안 알아 내려고 노력했습니다. – Filipe
코드에 약간의 수정을 가하면, 처음'SpawnEnemies'를 실행할 때'postDelayed (new SpawnEnemies(), 0)'가 필요 없다. 단지'post (new SpawnEnemies())'를 할 수있다. – Squeazer