| |||||||
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) |
| ________________ Registriert seit: May 2002 Ort: Braunschweig
Beiträge: 441
| Function mehrmals ausführen
Hi Folks!!! Nicht schlagen, habe dazu auch gerade zwei Threads gelesen, habe ich aber nicht ganz verstanden. Ich habe ein ganz simple Funktion _global in der Hauptzeitleiste definiert und kann diese auch perfekt aus jeden reingeladenen swf aufrufen. Nun muß ich sie aber manchmal mehrmals aufrufen. Aber jetzt erstmal kurz die Funktion aus den Hauptzeitleiste: ActionScript:
Nun rufe ich zum Beispiel aus einem eingeladenen Movie die Funktion so auf: ActionScript:
klappt auch alles wunderbar, aber nun will ich im selben Movie nochmal die Funktion auf einen anderen Container anwenden und möchte jetzt nicht das hier schreiben: ActionScript:
kann ich nicht einmal die Funktion aufrufen und ihm sagen, dass er es für beide und später noch mehr machen soll?!? so in der Art: ActionScript:
Ich weiß, dass das da oben nicht geht ![]() thx Katze Geändert von Katze (17-02-2004 um 13:32 Uhr) |
| | |
| | #2 (permalink) |
| Nett hier ... Registriert seit: Nov 2002 Ort: Berlin
Beiträge: 643
| ...
hallo schau dir mal Function.apply() aus der hilfe an (steig da selber zwar noch net ganz durch) aber glaube ist was für deine zwecke .... wäre net wenn du dann mal ein beispiel postest ;-) gruß makese |
| | |
| | #3 (permalink) |
| Nett hier ... Registriert seit: Nov 2002 Ort: Berlin
Beiträge: 643
| ...
hab mal ein beispiel gemacht: ActionScript:
schon ne ganz nette angelegenheit ... ;-) gruß makese |
| | |
| | #4 (permalink) |
| ________________ Registriert seit: May 2002 Ort: Braunschweig
Beiträge: 441
|
mhhhh meinste wirklich, dass das das (geil dreimal das"s"), was ich suche?!? So wie ich das verstanden habe, muß ich da ja einen Wert mit übergeben oder in den function schon definieren, der besagt, wie oft er sie ausführen soll. Aber das ist nicht das, was ich will... Ich könnte ja auch dann sonst, in meiner Funktion einen Wert setzen, der mir sagt wie oft er rödeln soll, aber soll es eigentlich Anhand der mitgegebenen Parametern erkennen, wie oft er es machen soll... |
| | |
| | #6 (permalink) |
| Nett hier ... Registriert seit: Nov 2002 Ort: Berlin
Beiträge: 643
| ... ActionScript:
|
| | |
| | #7 (permalink) |
| Farbe ist Luxus Registriert seit: May 2003 Ort: Köln
Beiträge: 2.405
|
Hi, du kannst einfach mehrere Parameter hintereinander übergeben (kommaseparitert) und diese mit arguments.length in einer Schleife durchgehen: ActionScript:
Grüße Sascha PS: ist im Prinzip das gleiche wie bei makese, nur dass die Parameter ja gleich in einem Array ankommen...
__________________ 12:15, press return |
| | |
| | #9 (permalink) |
| Nett hier ... Registriert seit: Nov 2002 Ort: Berlin
Beiträge: 643
| ...
klar geht das auch mir ner schleife .. doch die dinger sind doch performancekiller ... aber trotzdem mal nachgefragt: was ist besser ... - mit ner while schleife - mit apply - oder mit ganz was anderem .. zu arbeiten ???? gruß makese |
| | |
| | #10 (permalink) |
| Farbe ist Luxus Registriert seit: May 2003 Ort: Köln
Beiträge: 2.405
|
@makese: ob nun while oder for-next schleife macht keinen Unterschied in der Performance, beide haben eine Eintritts- oder AUstrittsbedingung und laufen eben ein paar mal rum. In deinem Apply-Beispiel packst du zunächst doch auch Werte in ein Array und übergibst dieses. In der Funktion selbst musst du dieses doch auch wieder in einer Schleife abarbeiten. Das schenkt sich also nix. Die Performance mit Schleife ist für einfache Aufrufe, also bei einem Parameter sicherlich einen Hauch langsamer als der direkte Aufruf. Die Differenz liegt aber wohl eher im nicht messbaren Bereich. Grüße Sascha
__________________ 12:15, press return |
| | |
| | #11 (permalink) |
| Neuer User Registriert seit: Nov 2001 Ort: Köln
Beiträge: 106
|
"Apply" ist mir auch neu und sieht interssant aus... aber... ähh Momente mal: Da in Eurem Beispiel mit "apply" werden gar keine Parameter übergeben...?! Die "parameters" stecken einfach als Variablen auf _root - von daher findet die Funktion die auch. "theFunction.apply (null, parameters);" tut hier das Gleiche wie einfach nur "theFunction();". Das Array ist ja nicht lokal deklariert von daher ist mir das auch erstmal nich aufgefallen. Wenn man das aber macht, funzt das Ganze mit "apply" auch nicht mehr. Also da ist doch irgendwas im Argen... das Beispiel aus der Hilfe hat genau das gleiche Problem. Tolle Sache...?! Könnte sich ein bisschen forschen lohnen, was es mit dem "apply" denn nu auf sich hat. @makese: ein Array kann man doch auch mit einem ganz normalen Funktionsaufruf übergeben: "theFunction(meinArray);" funktioniert prima. @ludabruda: Mit vernünftigen Schleifen hab ich in meinem letzten Spiel noch richtig spürbar Performance rausholen können. Ob das auch noch für MX2004 gilt, weiss ich noch nich. Bisher aber - und deshalb behalt ich es wohl zunächst mal bei - galt(gilt?): - while-Schleifen anstelle von for-Schleifen verwenden - den index dekrementieren, statt inkrementieren - keine doppelten Bedingungen verwenden (">=" oder "<=") - die schnellste ist die "for (i in myArray)"-Schleife, die dabei automatisch dekrementiert Wenn es schon eine for-Schleife sein soll, würde ich darin wenigstens wo möglich mit Konstanten arbeiten: "arguments.length" bleibt ja konstant und muss nicht mit jedem Durchlauf neu ermittelt werden; das kostet wie im Beispiel gecodet jedesmal lediglich Zeit, bringt aber nix. Ist aber ohnehin ein Paradefall für die for/in-Schleife : ActionScript:
__________________ http://www.rumbke.de Geändert von leif (18-02-2004 um 12:08 Uhr) |
| | |
| | #12 (permalink) | |
| Level up Registriert seit: Jun 2001 Ort: Bocholt
Beiträge: 4.155
|
Schöne Erklärung leif, auch ich werde versuchen mir das zu merken, aber hier stolper ich noch ein wenig... Zitat:
Alois
__________________ -Spuckt mir auf den Stuhl, ich will im Grünen sitzen- | |
| | |
| | #13 (permalink) |
| Neuer User Registriert seit: Nov 2001 Ort: Köln
Beiträge: 106
|
...ähem... is nen bisschen spät geworden gestern... ... jetz stimmts.
__________________ http://www.rumbke.de |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |