| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: Sep 2003 Ort: Köln
Beiträge: 116
| Befehl "function" verstehen lernen - erste Fragen zum Aufbau/Ablauf
Moinsen! Bin gerade dabei mich in die Welt der Funktionen einzuarbeiten und hab eine simple Funktion geschrieben: Code: zaehler = function (i, k) {
i++;
o = i;
trace("i:"+i);
this.onEnterFrame = function() {
k++;
trace("k:"+k);
if (k == 25) {
delete this.onEnterFrame;
}
};
this.onEnterFrame = function() {
o++;
trace("o:"+o);
if (o == 35) {
delete this.onEnterFrame;
}
};
i++;
trace("i:"+i);
i++;
trace("i:"+i);
};
zaehler(3, 5); 1. Wieso wird "k" nicht ausgegeben? 2. Wieso wird erst 3x "i" ausgegeben und dann "o" - die Reihenfolge im Code ist anders? Wenn ich diese Funktion 2 Frames weiter stoppen möchte sollte dies eigentlich über Code: delete zaehler.onEnterFrame; stop() Schöne Grüße |
| | |
| | #3 (permalink) |
| experience++; Registriert seit: Jul 2002 Ort: Düsseldorf
Beiträge: 11.347
|
1)weil das eine onEnterFrame sicher das andere überschreibt 2)die i´s werden ddirekt aufgerufen. die o´s ja erst in einer schleife 3)es geht mit delete this.onEnterFrame generell wird hier ziemlich schnell klar das du noch nicht soo den plan hast. ![]() PHP-Code: PHP-Code: PHP-Code: nimm unbedingt eine der beiden onEnterFrame schleifen raus.. funktionieren tut so ja eh nur eine auf einmal ![]() cya, sal
__________________
Chuck Norris hat den Flash Player für alle mobilen Betriebssysteme! |
| | |
| | #4 (permalink) |
| _______________ Registriert seit: Mar 2003 Ort: !Schnitzerland
Beiträge: 2.003
|
k kann gar nicht ausgegeben werden, es wird ja im nächsten moment wieder überschrieben. Also beide onEnterFrames referenzieren sich auf this! schöne grüße
__________________ ey… be cool! Mac OS-X 10.5.6, Safari Version 4 Public Beta (5528.16), on PowerBook 12" G4 1,5 GHz, 1,25 GB RAM, FlashPlayer 9 is auch noch da, wenn ich Lust habe… |
| | |
| | #5 (permalink) | |||
| Neuer User Registriert seit: Sep 2003 Ort: Köln
Beiträge: 116
| Zitat:
Zitat:
Zitat:
Wenn ich "delete zaehler.onEnterFrame" einen Frame später setze, dürfte die Schleife doch nur 1 oder 2 mal durchlaufen???? | |||
| | |
| | #6 (permalink) | |
| Neuer User Registriert seit: Sep 2003 Ort: Köln
Beiträge: 116
| Zitat:
Code: if (k == 25 && o == 35) {
delete this.onEnterFrame;
} | |
| | |
| | #7 (permalink) | ||
| experience++; Registriert seit: Jul 2002 Ort: Düsseldorf
Beiträge: 11.347
| Zitat:
![]() Zitat:
cya, sal
__________________
Chuck Norris hat den Flash Player für alle mobilen Betriebssysteme! | ||
| | |
| | #8 (permalink) |
| Neuer User Registriert seit: Sep 2003 Ort: Köln
Beiträge: 116
|
ja, will ein bischen rumprobieren um das Thema zu verstehen. Hab die Funktion jetzt mal in einen MC gepackt und was soll ich sagen: delete this.onEnterFrame beendet die Funktion - wahnsinn!! Aber jetzt noch ne Newbee-Frage: Wenn ich mehrere Funktionen definiere - werden dann alle Funktionen mit delete this.onEnterFrame beendet? Oder kann man auch gezielt bestimmte Funktionen beenden? |
| | |
| | #9 (permalink) |
| experience++; Registriert seit: Jul 2002 Ort: Düsseldorf
Beiträge: 11.347
|
du beendest doch einfach nur die schleife innerhalb der function! und wenn du zwei verschiedene functions hast kannste trotzdem nicht zweimal die gleiche onEnterFrame schleife laufen lassen und somit natürlich auch nicht 2 schleifen bennden ![]() da hast du irgentwie noch was auf dem falschen schirm ![]() um dich ein wenig mehr zu verwirren hab ich dir mal was gebastelt: PHP-Code: PHP-Code:
__________________
Chuck Norris hat den Flash Player für alle mobilen Betriebssysteme! Geändert von salazar (19-10-2006 um 11:35 Uhr) |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |