Script soll bewegung pausieren

Malaxo

Erfahrenes Mitglied
Hey Leute

Ich habe einen Kreis erstell, der von links nach rechts fährt und zusätzlich rotiert.

Nun müsste es in der Mitte des Bildes für ca. 2Sekunden stehenbleiben und dann weiter rollen.

Bin nicht so geübt in Flash, hab das hier für den Kreis:

Code:
onClipEvent(load) {
   speedX = 2;
}
onClipEvent(enterFrame) {
   this._x += speedX;
   this._rotation += 0.2;
  
  if (this._x >= 1150) {
	   speedX = -speedX;
   }else if (this._x == 450) {
	   speedX = 0;
   }else if (this._x <= 150) {
	   speedX = -speedX;
   }
}

Wie muss ich die 1. Else if schleife bearbeiten, dass der Kreis pausiert und dann erst weiter rollt?

Besten Dank
 
Danke für den Link.

Ich hab da ein Problem. Nun kamm eine neue Anforderung.

Mein Script:
Code:
onClipEvent(load) {
   speedX = 2;
}
onClipEvent(enterFrame) {
   this._x += speedX;
   this._rotation += 0.2;
  
  if (this._x >= 1150) {
	   speedX = -speedX;
   }else if (this._x == 650 || this._x > 650) {
		speedX = 0;
   }else if (this._x <= 150) {
	   speedX = -speedX;
   }
}

In der Else-If Schleife "this._x == 650 || this._x > 650" soll die Bewegung anhalten, die Rotation jedoch nicht.

Ich hab es hin bekommen, dass die Bewegung stehen bleibt aber wie kann ich diese nach ein paar Sekunden weiter fahren lassen?

Gruss
Malaxo
 
Hi,

ich würde mit einem Schalter arbeiten.

PHP:
var wird_animiert:Boolean = true;

Jetzt kannst du zu Beginn deines Codes mit einer if-Abfrage prüfen, ob die Animation angehalten wurde oder nicht. Demenentsprechend werden deine If-Abfragen abgearbeitet.

also so z.B.

PHP:
if(wird_animiert == true){
// führe die Animation ganz normal aus bis zu dem Punkt wo du sie stoppen möchtest.
//hier setzt du dann den Boolean-Wert:
wird_animiert = false;

//damit er in den Else-Zweig springen kann.
}


else{
// stoppe die Animation

//wenn deine Pause zu Ende ist
//setze this._x = dem Endwert, an dem du den Kreis angehaten hast
//und setze den Boolean-Wert wieder auf

 wird_animiert = true;

//damit die Animation normal weiterläuft.

}

VG
 
Zuletzt bearbeitet:
Hi,

schön, dass es geklappt hat.

Bzgl. Feinschliff:

Ich würde z.B. die x-Position, an der die Animation stoppen soll, nicht fest in den If-Anweisungen verankern, sondern als Variable am Anfang anlegen. Wenn du später nämlich diese Stopp-Position an einer anderen Stelle haben möchtest, musst du diese überall in den If-Anweisungen anpassen - so nur einmal am Anfang in einer Variablen.

So ist es gemeint:

PHP:
var stopp_position:int = 650;

//in den if-Abfragen heißt es dann 

}else if (this._x == stopp_position || this._x > stopp_position) {
        speedX = 0;
   }

Gleiches gilt für Anfangs-X-Positon und End-X-Positon, wenn du möchtest.

VG
 

Neue Beiträge

Zurück