Animationsaufruf innerhalb einer Schleife verzögern

O

ostone86

Neues Mitglied
0
Hallo,

ich programmiere gerade für's Studium ein Spiel.

In einem Teil des Spiels drehen sich hintereinander zufällig gewählte Button.

Im ersten Durchgang nur einer, im Zweiten zwei...

Folgende Methode ist dafür zuständig:

public void rotateButton(){
Animation animation = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.animation_rotate);
_rotateButton = _memory.randomize();
for(int i = 0; i < _rotateButton.size(); i++){
int index = _rotateButton.get(i);
Button btn = _buttonCollection.get(index-1);
btn.startAnimation(animation);
}
}

_rotateButton ist hierbei eine ArrayList, welche je nach Durchgang ein Element mehr erhält.

Die xml der Animation sieht wie folgt aus:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">

<rotate
android:fromDegrees="0"
android:toDegrees="360"
android:pivotX="50%"
android:pivotY="50%"
android:duration="1500" />

</set>

Nun soll zwischen den einzelnen Animationen (also ab Durchgang 2) aber einige Sekunden passe sein. Momentan drehen sich die Button fast zeitgleich. Habe schon versucht ein startOffset einzubauen, aber trotzdem drehen sich die einzelnen Button unmittelbar hintereinander.

Dann habe ich versucht den einzelnen Schleifedurchlauf über Thread.slepp(1000) zu verzögern. Klappt aber auch nicht.

Hat jemand eine Idee?

Grüße,

ostone86

Der ursprüngliche Beitrag von 13:06 Uhr wurde um 13:07 Uhr ergänzt:

Hey... Wieso wird aus [... :pivot...] ein Smily?

Und wo sind die Tabs des Quellcodes? So lässt sich das ja blöd lesen... :-(
 
Okay, danke für den Hinweis. Von diesen Animation Listenern habe ich in der Zwischenzeit auch schon gelesen. Aber wo genau baue ich dies in meinen Quelltext ein? Unmittelbar in der Schleife? Oder wird diese dann nicht mehr benötigt? Eigentlich schon, oder? Schließlich komme ja pro Level ein animierter Button zusätzlich dazu, oder?
 
Die Listener hängst Du an die Animationen. Vielleicht benutzt du nur ein Animation, die Du in den OnClickListener der Buttons startest.
 

Ähnliche Themen

A
Antworten
10
Aufrufe
1.021
swa00
swa00
A
Antworten
1
Aufrufe
641
swa00
swa00
D
  • Data2006
Antworten
14
Aufrufe
486
jogimuc
J
Zurück
Oben Unten