S
seejay
Neues Mitglied
- 0
Hallo,
ich bin gerade dabei meine erste Android App zu schreiben. Ein Pong Klon
Leider habe ich folgendes Problem:
Spieler Links (SL) bewegt seinen Schläger nach oben. Spieler Rechts (SR) bewegt seinen nach unten. Funktioniert noch.
SL bewegt seinen Schläger auch nach unten. Funktioniert weiter
SL bewegt seinen Schläger wieder nach oben -> Fehler SL bewegt SR's Schläger und umgekehrt und bleibt auch wenn beide sich weiter bewegen. Solange bis ein Spieler seinen Finger vom Display nimmt.
Zum Bewegen der Schläger prüfe ich ab, ob der Bildschirm auf der linken Seite über oder unter dem Schläger berührt wird und bewege dann SL's Schläger. Bei der rechten Seite dann eben SR's Schläger.
Die Geschwindigkeit der Bewegung wird in einer anderen Methode immer wieder auf 0 gesetzt. Da es ja keinen OnTouchEnds Listener gibt.
Hier noch der Code:
Kann mir jemand sagen woran das Problem liegen könnte?
Danke und Gruß
seejay
ich bin gerade dabei meine erste Android App zu schreiben. Ein Pong Klon
Leider habe ich folgendes Problem:
Spieler Links (SL) bewegt seinen Schläger nach oben. Spieler Rechts (SR) bewegt seinen nach unten. Funktioniert noch.
SL bewegt seinen Schläger auch nach unten. Funktioniert weiter
SL bewegt seinen Schläger wieder nach oben -> Fehler SL bewegt SR's Schläger und umgekehrt und bleibt auch wenn beide sich weiter bewegen. Solange bis ein Spieler seinen Finger vom Display nimmt.
Zum Bewegen der Schläger prüfe ich ab, ob der Bildschirm auf der linken Seite über oder unter dem Schläger berührt wird und bewege dann SL's Schläger. Bei der rechten Seite dann eben SR's Schläger.
Die Geschwindigkeit der Bewegung wird in einer anderen Methode immer wieder auf 0 gesetzt. Da es ja keinen OnTouchEnds Listener gibt.
Hier noch der Code:
Code:
public boolean onTouch(View arg0, MotionEvent arg1) {
int i = 0;
while (i < arg1.getPointerCount())
{
if ( arg1.getX(i) < Board.Width / 2+Pong.abstandLinks)
{
Paddle paddle = Pong.player1.getPaddle();
//Links wurde gehalten
if (arg1.getY(i) < paddle.getY()+paddle.getHeight()/2)
{
paddle.setYMove(-1);
}
else
{
paddle.setYMove(1);
}
}
else if ( arg1.getX(i) > Board.Width / 2+Pong.abstandLinks)
{
Paddle paddle = Pong.player2.getPaddle();
//Links wurde gehalten
if (arg1.getY(i) < paddle.getY()+paddle.getHeight()/2)
{
paddle.setYMove(-1);
}
else
{
paddle.setYMove(1);
}
}
i++;
}
return true;
}
Danke und Gruß
seejay