Hallo.
Ich programmiere gerade ein Poker-Spiel, in dem ich den Spielern natürlich auch Karten zuweise.
Eine kurze Animation davon findet man hier.
Wenn eine Runde ausgespielt ist, werden die Karten wieder neu ausgegeben. Blos habe ich das Problem, dass die Animation nicht immer funktionert. Mal werden alle ausgegeben, mal erhält ein Spieler nur eine Karte...
[CODE lang="java" title="Animation"]
//wird aus der Model-Klasse für jede Karte aufgerufen
public void drawCard(PokerPlayer p, int i, int j, int k)
{
this.animateCard(p, i, j, 800, 800, k);
}
private void animateCard(PokerPlayer p, int i, int j, int translateDuration, int rotateDuration,
int delayMultiplyer)
{
//Die zu animierende Karte
ImageView card = p.getCards();
Point cardPos = p.getCardPos();
card.setTranslateX(this.stack.getX());
card.setTranslateY(this.stack.getY());
this.addRemoveAll(card);
//Rotationsanimation
RotateTransition rT = this.getRotTrans(card, rotateDuration);
//Kartenbewegung vom Stack zur Position
TranslateTransition tT = this.getTranslTrans(card, cardPos.x, cardPos.y, translateDuration);
//hier wird alles zusammengefügt und gestartet
this.setTransition(new ParallelTransition(), delayMultiplyer, tT, rT);
}
[/CODE]
Am Anfang funktioniert die Animation immer. Nur zwischen den einzelnen Runden kommt es dann zu dem "Ruckler". Kann es sein, dass eine Animation irgendwie verschluckt oder übersprungen wird bzw. eine andere Animation irgendwie stören kann?
Ich programmiere gerade ein Poker-Spiel, in dem ich den Spielern natürlich auch Karten zuweise.
Eine kurze Animation davon findet man hier.
Wenn eine Runde ausgespielt ist, werden die Karten wieder neu ausgegeben. Blos habe ich das Problem, dass die Animation nicht immer funktionert. Mal werden alle ausgegeben, mal erhält ein Spieler nur eine Karte...
[CODE lang="java" title="Animation"]
//wird aus der Model-Klasse für jede Karte aufgerufen
public void drawCard(PokerPlayer p, int i, int j, int k)
{
this.animateCard(p, i, j, 800, 800, k);
}
private void animateCard(PokerPlayer p, int i, int j, int translateDuration, int rotateDuration,
int delayMultiplyer)
{
//Die zu animierende Karte
ImageView card = p.getCards();
Point cardPos = p.getCardPos();
card.setTranslateX(this.stack.getX());
card.setTranslateY(this.stack.getY());
this.addRemoveAll(card);
//Rotationsanimation
RotateTransition rT = this.getRotTrans(card, rotateDuration);
//Kartenbewegung vom Stack zur Position
TranslateTransition tT = this.getTranslTrans(card, cardPos.x, cardPos.y, translateDuration);
//hier wird alles zusammengefügt und gestartet
this.setTransition(new ParallelTransition(), delayMultiplyer, tT, rT);
}
[/CODE]
Am Anfang funktioniert die Animation immer. Nur zwischen den einzelnen Runden kommt es dann zu dem "Ruckler". Kann es sein, dass eine Animation irgendwie verschluckt oder übersprungen wird bzw. eine andere Animation irgendwie stören kann?