Kein vollständiges Abspielen eines MC vor nächster Anweisung im AS?

TOMahawk85

Erfahrenes Mitglied
Hallo,

ich hoffe mir kann jemand bei folgendem Problem helfen. Die Suche hat mich leider nicht weitergebracht.

Und zwar möchte ich einen Kreis (für den Anfang; später ein z.B. PacMan) per Pfeiltasten bewegen. Das geht schonmal.
Der Kreis soll an einer Wand mit "hitTest" anhalten. Das geht auch schon.
Der Positionswechsel des Kreises ist mit einem MovieClip gelöst, was den Kreis in 10 Frames um 50 Pixel in die Richtung der jeweiligen Pfeiltaste bewegt. Das geht ebenfalls.

Nun soll der MotionClip bei Tastendruck abgespielt werden und NACH eben diesen 10 Frames die Position des Kreis-MotionClips um 50 Pixel versetzt und dann der MotionClip auf Anfang bzw. Frame 1 gesetzt werden. Danach geht das ganze von vorn los.

Im Grunde geht auch das. Aber das Problem ist, dass ein 50-Pixel-Sprung kommt und sich erst dann der Kreis bewegt. Ich will einfach nur, dass der 50-Pixel-Sprung erst gemacht wird, NACHDEM der MotionClip komplett abgespielt wurde.
Im Moment ist es so, dass der MotionClip startet, dann der Sprung kommt und danach der MotionClip zu Ende abgespeilt wird.

Hier mal das nötigste vom AS:
PHP:
on (keyPress "<Up>") {       //Reaktion auf Hoch-Pfeiltaste
    gotoAndPlay(2);          //MC abspielen für Bewegung nach oben
    this._y = this._y-50;    //Koordinate des Kreis-MotionClips neu gesetzt 
    gotoAndPlay(1);          //MotionClip zurück auf 1. Frame
}

Ich hoffe ich habe mich verständlich ausgedrückt.

MfG, TOMahawk
 
Zuletzt bearbeitet:
Hallo Tom,

ich hatte vor ein paar Wochen in einem Projekt eine recht ähnliche Situation. Da habe ich den Movieclip allerdings nicht sich per Animation bewegen lassen und ihn dann versetzt - sondern andersherum. Die Animation muss dann zwar "springen", also ist z.B. in Frame 2 die Position des Balls auf einmal -50 (wenn sie 0 war in Frame 1) und bewegt sich dann zurück zur 0.

Im letzten Schlüsselbild der Animation kann man dann noch den Code gotoAndPlay() anhängen und dein Problem ist gelöst.

Wenn das nicht verständich ist kann ich dir gern ein Beispiel per email schicken, PM mir dann einfach deine Adresse.

Gruß
jens
 
Ich danke dir.

Das war durchaus verständlich und es funktioniert auch ganz gut.
So krumm muss man erstmal denken, das Ganze rückwärts ablaufen zu lassen.

Jetzt springt der Kreis nur noch bei der allerersten Bewegung (weis noch nicht warum), mal sehen wie ich das noch lösen kann.

Edit:
Habs gelöst. Es lag daran, dass ich bei den Koordinaten anstatt der linken oberen "Ecke" des Kreises die Mitte genommen habe. Das sollte man dann doch unterlassen. ;-)

MfG, TOMahawk
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück