Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 28-07-2003, 18:54   #1 (permalink)
Neuer User
 
Registriert seit: Dec 2002
Ort: Hamburg
Beiträge: 61
Anweisung nur 1x ausführen

Hi,

gibt es eine möglichkeit eine Anweisung exakt nur einmal ausführen zu lassen?

Habe da nämlich ein kleines Problem.

Ich bewege in einem MC einen anderen MC per AS im onEnterFrame-Event.
Danach frage ich ab, ob der sich zu bewegende MC eine bestimmte Position erreicht hat, wenn er das habt, soll ein anderer MC eine Animation abspielen. Bsp:

ActionScript:
  1. onClipEvent(enterFrame){
  2.   _root.2terMC._y += 10;
  3.   if(_root.2ter._y == ziel){
  4.      trace("ziel erreicht");
  5.      machAnima = 1;
  6. }
  7.  
  8. if(machAnima == 1){
  9.    _root.3terMC.gotoAndPlay(10);
  10.   machAnima = 0;
  11. }
  12. }

Da der MC, der das Ziel erreicht hat, nicht sofort wieder auf eine andere Position zurückgesetzt wird, wird automatisch machAnima immer wieder auf 1 gesetzt, so das in der zweiten abfrage, die gotoAndPlay abfrage nichtig ist, weil der MC sich ja immer noch auf der Ziel-Position befindet. Auch durch das setzen in der 2ten Bedingung der Variable machAnima = 0 wird in der ersten Bedingung wieder zurück gesetzt.

Bedeutet ja, dass der Animations-MC immer auf der einen Stelle loopt wo er hinspringen sollte und nicht weiter abspielt.

Ist die einzige möglichkeit das Problem zu lösen, mehrere Variablen mit einander zu verknüpfen oder gibt es eine möglichkeit, die ich nicht kenne? oder eine bessere lösung?

Bin dankbar für jeden RAT.
BaRt4EvEr ist offline   Mit Zitat antworten
Alt 28-07-2003, 19:04   #2 (permalink)
alien
 
Benutzerbild von Smirgel
 
Registriert seit: May 2002
Ort: Colonia
Beiträge: 7.597
tach,
versuch mal dieses hier:
ActionScript:
  1. onClipEvent(enterFrame){
  2.         _root.2terMC._y += 10;
  3.         if(_root.2ter._y == ziel){
  4.                 trace("ziel erreicht");
  5.                 machAnima = 1;
  6.         }
  7.        
  8.         if(machAnima == 1 && !animlaeuft){
  9.                 _root.3terMC.gotoAndPlay(10);
  10.                 machAnima = 0;
  11. animlaeuft=true;
  12.         }
  13. }

__________________
bei fragen, fragen.
Smirgel ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 09:41 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele