Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 24-08-2004, 15:21   #1 (permalink)
Neuer User
 
Registriert seit: Aug 2004
Beiträge: 22
variable/ if schleife

Hi leute,
kann mir einer weiterhelfen, schaetze ich brauche eine if schleife, weiss aber nicht genau wie ich es angehen soll:
-habe 3 movieclips, alle drei werden durch die 3 dazugehoerigen buttons abgespielt.
-nur wenn alle drei in beliebiger reihenfolge abgespielt sind, gehts weiter zu nem vierten MC.

weiss jemand ein einfaches script um herauszufinden ob alle drei MCs abgespielt wurden?

tony blair ist offline   Mit Zitat antworten
Alt 24-08-2004, 15:26   #2 (permalink)
Definitionssache
 
Benutzerbild von dburucu
 
Registriert seit: Apr 2003
Ort: Braunschweig
Beiträge: 2.433
wenn Du die Movies abspielst, setzte einfach ne Variable:

film1 = true

film2 = true

film3 = true

und in einer onenterFrame kannst Du dann immer schauen, ob alle true sind.

if (film1 && film2 && film3) spring weiter.
dburucu ist offline   Mit Zitat antworten
Alt 24-08-2004, 15:29   #3 (permalink)
-
 
Benutzerbild von pape
 
Registriert seit: Jan 2004
Beiträge: 3.002
sowas in der art?
ActionScript:
  1. _root.createEmptyMovieClip("watcher",9999);
  2. watcher.onEnterFrame = function () {
  3.     if (mc1._currentframe >= mc1._totalframes && mc2._currentframe >= mc2._totalframes && mc3._currentframe >= mc3._totalframes) {
  4.         gotoAndStop("vierteMc");
  5.     }
  6. }
pape ist offline   Mit Zitat antworten
Alt 24-08-2004, 15:31   #4 (permalink)
-
 
Benutzerbild von pape
 
Registriert seit: Jan 2004
Beiträge: 3.002
Zitat:
Zitat von dburucu
wenn Du die Movies abspielst, setzte einfach ne Variable:

film1 = true

film2 = true

film3 = true

und in einer onenterFrame kannst Du dann immer schauen, ob alle true sind.

if (film1 && film2 && film3) spring weiter.
wenn der letzte button geklickt wird, dann wird in deiner Lösung aber der letzte mc nicht mehr abgespielt sondern sofort gesprungen!
pape ist offline   Mit Zitat antworten
Alt 24-08-2004, 15:33   #5 (permalink)
Definitionssache
 
Benutzerbild von dburucu
 
Registriert seit: Apr 2003
Ort: Braunschweig
Beiträge: 2.433
Zitat:
Zitat von pape
wenn der letzte button geklickt wird, dann wird in deiner Lösung aber der letzte mc nicht mehr abgespielt sondern sofort gesprungen!
ja stimmt...
da ist bestimmt deine Lösung besser(?)
dburucu ist offline   Mit Zitat antworten
Alt 24-08-2004, 15:41   #6 (permalink)
-
 
Benutzerbild von pape
 
Registriert seit: Jan 2004
Beiträge: 3.002
glaube ich auch^^
pape ist offline   Mit Zitat antworten
Alt 24-08-2004, 16:29   #7 (permalink)
Neuer User
 
Registriert seit: Aug 2004
Beiträge: 22
Zitat:
Zitat von pape
sowas in der art?
ActionScript:
  1. _root.createEmptyMovieClip("watcher",9999);
  2. watcher.onEnterFrame = function () {
  3.     if (mc1._currentframe >= mc1._totalframes && mc2._currentframe >= mc2._totalframes && mc3._currentframe >= mc3._totalframes) {
  4.         gotoAndStop("vierteMc");
  5.     }
  6. }



>>
Hi,
danke fuer die function, aber irgendwo ist da noch ein fehler, ich bekomme immer diese meldung:
Operator '=' must be followed by an operand
****if (graphics._currentframe >= graphics._totalframes && lighting._currentframe >= lighting._totalframes && screen._currentframe >= screen._totalframes) {


weisst du wie ich die function umschreiben muss???
cheers-
tony blair ist offline   Mit Zitat antworten
Alt 24-08-2004, 16:47   #8 (permalink)
-
 
Benutzerbild von pape
 
Registriert seit: Jan 2004
Beiträge: 3.002
die funtion stimmt!

... du solltest aber grundsätzlich kein "copy & past" machen, sondern die geposteten scripts als ansatz sehen und dann nochmal selber auf dein beispiel anpassen...

naja... jedenfalls versuch mal das:

lösch alle leerzeichen am anfang der einzelnen zeilen und ertselle die tabulatorenm dann in flash selber wieder...

das funktiniert oft... keine ahnung warum aber irgendwas stimmt da nicht bei der script function hier im forum denke ich......

grz
pape
pape ist offline   Mit Zitat antworten
Alt 24-08-2004, 16:50   #9 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
Zitat:
Zitat von pape
die funtion stimmt!
Naja! Nicht ganz, Deine Pfade stimmen nicht!!
Du frägst ja die mcs inberhalb von "watcher" ab, die dürften aber doch eine Timeline höher liegen
__________________
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muß erst gehen lernen"
RustyCake ist offline   Mit Zitat antworten
Alt 24-08-2004, 18:24   #10 (permalink)
Neuer User
 
Registriert seit: Aug 2004
Beiträge: 22
Zitat:
Zitat von RustyCake
Naja! Nicht ganz, Deine Pfade stimmen nicht!!
Du frägst ja die mcs inberhalb von "watcher" ab, die dürften aber doch eine Timeline höher liegen



Hi,
kannst du mir das bitte genauer erklaeren, denn ich bekomms immernoch nicht hin, wird die funktion innnerhalb des 'watchers' platziert oder im ersten frame des uebergeordneten clips?
tony blair ist offline   Mit Zitat antworten
Alt 24-08-2004, 18:50   #11 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
Des in die Haupttimeline Deines Films, wenn deine mc1-mc3 dort auch liegen
ActionScript:
  1. stop();
  2. this.createEmptyMovieClip("watcher", 9999);
  3. this.watcher.onEnterFrame = function() {
  4.     if (this._parent.mc1._currentframe>=this._parent.mc1._totalframes && this._parent.mc2._currentframe>=this._parent.mc2._totalframes && this._parent.mc3._currentframe>=this._parent.mc3._totalframes) {
  5.         _root.gotoAndStop("vierterMc");
  6.         delete this.onEnterFrame;
  7.     }
  8. };
__________________
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muß erst gehen lernen"
RustyCake ist offline   Mit Zitat antworten
Alt 24-08-2004, 23:29   #12 (permalink)
-
 
Benutzerbild von pape
 
Registriert seit: Jan 2004
Beiträge: 3.002
naja.. ich dachte eigetlich variablen wären in flash grundsätzlich (im gegensatz zu z.b. php) global.... und somit müsste es ja gehen...und es geht auch

einfach mal nen mc auf _root erstellen (instanzname "mc") und das script in die timeline:
ActionScript:
  1. _root.createEmptyMovieClip("watcher",9999);
  2. watcher.onEnterFrame = function () {
  3.     trace(mc);
  4.     //ausgabe: _level0.mc
  5. }
wie man sieht ist der pfad korrekt!

funktioniert ebenso wenn mans noch weiter verschachtelt:
ActionScript:
  1. _root.createEmptyMovieClip("watcher",9999);
  2. watcher.createEmptyMovieClip("lala",9999);
  3. watcher.lala.onEnterFrame = function () {
  4.     trace(mc);
  5.     //ausgabe: _level0.mc
  6. }
wobei man hier natürlich auch genau wissen sollte wann es geht und wann nicht!
auf der sicheren seit ist man natürlich nur wenn man es mit konkreten pfadangaben macht!!!das stimmt schon
ActionScript:
  1. _root.gotoAndStop("vierterMc");
das _root ist hier natürlich wiederum erforderlich! da haste recht!

ActionScript:
  1. this.createEmptyMovieClip("watcher", 9999);
  2. this.watcher.onEnterFrame = function() {
das this. vor watcher braucht man nur, solange der mc wo das onEnterFrame hin soll nicht weiter verschachtelt wird...

und die Fehlermeldung die er geposted hat hatte in keinsterweise was damit zutun...
dieses seltsame mit dem "=" hatte ich neulich schon mal hier...
da half nur (wie oben schongesagt) das löschen aller leerzeichen und ums dann wieder übersichtlich zu gestalten das neue einfügen der tabstops in flash!

so.. und wenn man des watchers onEnterFrame schon deletet, dann bitte auch den mc direkt mit removen:

ActionScript:
  1. stop();
  2. this.createEmptyMovieClip("watcher", 9999);
  3. this.watcher.onEnterFrame = function() {
  4.     if (this._parent.mc1._currentframe>=this._parent.mc1._totalframes && this._parent.mc2._currentframe>=this._parent.mc2._totalframes && this._parent.mc3._currentframe>=this._parent.mc3._totalframes) {
  5.         _root.gotoAndStop("vierterMc");
  6.         delete this.onEnterFrame;
  7.         this.removeMovieClip();
  8.     }
  9. };

grz
pape

Geändert von pape (24-08-2004 um 23:31 Uhr)
pape ist offline   Mit Zitat antworten
Alt 25-08-2004, 14:52   #13 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
Hehe!
Was man braucht oder nicht ist eigentlich egal für mich!!
Ich finds so einfach übersichtlicher,
Übrigens wennst lieber remove benutzt kannst Dir ja des delete sparen
__________________
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muß erst gehen lernen"
RustyCake ist offline   Mit Zitat antworten
Alt 25-08-2004, 15:42   #14 (permalink)
-
 
Benutzerbild von pape
 
Registriert seit: Jan 2004
Beiträge: 3.002
pape 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 08:30 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele