S
Snipestyle
Erfahrenes Mitglied
- 3
Hey,
habe nun nen kleines Problem. Ich möchte gerne das sich meine Spielfigur Schritt für Schritt bewegt. Jedoch bekomme ich das mit wait() oder sleep() oder nem Handler nicht hin. Das ganze Spiel steht dann still und zack gehts an der richtigen Stelle weiter.
Also es wirkt eher so, als ob die grafische Oberfläche nur schläft oder wartet, aber das Programm sich trotzdem weiter ausführt. Nach der vergangenen Zeit steht die Figur dann halt an der richtigen Stelle.
EDIT: Was mir auch noch aufgefallen ist. Jedes Feld löst einen alert dialog aus. wenn ich nun würfel und sich die figur schritt für schritt bewegen soll, kommt als erstes das dialog fenster(was ja eigentlich erst nach der Bewegung kommen sollte), die dann nach dem Delay mit einem großen Sprung ausgeführt wird
Was gibt es noch für Möglichkeiten?
Hier ein Testcode, so hab ichs zuletzt mit einem Handler probiert
Viele Grüße,
Marcel
habe nun nen kleines Problem. Ich möchte gerne das sich meine Spielfigur Schritt für Schritt bewegt. Jedoch bekomme ich das mit wait() oder sleep() oder nem Handler nicht hin. Das ganze Spiel steht dann still und zack gehts an der richtigen Stelle weiter.
Also es wirkt eher so, als ob die grafische Oberfläche nur schläft oder wartet, aber das Programm sich trotzdem weiter ausführt. Nach der vergangenen Zeit steht die Figur dann halt an der richtigen Stelle.
EDIT: Was mir auch noch aufgefallen ist. Jedes Feld löst einen alert dialog aus. wenn ich nun würfel und sich die figur schritt für schritt bewegen soll, kommt als erstes das dialog fenster(was ja eigentlich erst nach der Bewegung kommen sollte), die dann nach dem Delay mit einem großen Sprung ausgeführt wird
Was gibt es noch für Möglichkeiten?
Hier ein Testcode, so hab ichs zuletzt mit einem Handler probiert
Code:
for(test = oldpos; test != playeronepos; test++)
{
switch(oldpos)
{
case 29: test=1;
break;
case 30: test=2;
break;
case 31: test=3;
break;
case 32: test=4;
break;
case 33: test=5;
break;
case 34: test=6;
break;
}
final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
ImageView iv1 = (ImageView)findViewById(R.id.p1);
iv1.setX(oneposx[test]);
iv1.setY(oneposy[test]);
}
}, 1000);
}
Viele Grüße,
Marcel
Zuletzt bearbeitet: