Warum brauche ich eine separate Ebene für das Actionscript?

snoopdoggy

Grünschnabel
Hallo,
ich habe einen Flash Film erstellt, der auch funktioniert, dennoch habe ich eine Frage:
sobald ich das folgende Actionscript auf die Ebene lege, in der die Sponsorenbilder mit Bildnamen "Sponsor1" etc. sind, und jedem Schlüsselbild das Script zuweise, dann ruft der Film jedesmal 13 zufällige Kombinationen auf, so dass er z.B. bei dem 3. Sponsor bereits 39 (-3) weitere Abfolgen in der Warteliste hat. Klar, dass der Film nach einer gewissen Zeit den Browser zum Absturz bringt. Lege ich jedoch das gleiche Script in eine separate Ebene, dann ruft es wie gewünscht bei jedem Aufruf nur einen zufälligen nächsten Sponsor auf.

Warum?

PHP:
posArr = new Array("sponsor1", "sponsor2", "sponsor3", "sponsor4", "sponsor5", "sponsor6", "sponsor7", "sponsor8", "sponsor9", "sponsor10", "sponsor11", "sponsor12", "sponsor13", "test");
laenge = posArr.length;
trace(laenge);
zufall = Math.floor(Math.random()*laenge);
trace(zufall);
bildname = posArr[zufall];
trace(bildname);
gotoAndPlay(bildname);
 
Hi,

Variablen gelten über Framegrenzen hinweg. Du springst mit gotoAndPlay zu einem Frame, in dem sofort wieder dieses Script ausgeführt wird (womit Du weiterspringst).

Entweder, Du verwendest eine Ebene mit nur einem Schlüsselbild, oder Du arbeitest mit onEnterFrame (je nach dem, was Du erreichen willst).

Gruß
.
 
Zuletzt bearbeitet:
Weil jedes Frame ein neuer Anfang ist, und das Script somit sooft durchlaufen wird wie es Frames gibt - wenn du das ganze auf eine Ebene darüber legst, dann wird es nur einmal abgearbeitet, ist aber für die Länge des Films von überall aus verfügbar ...

B
 
Weil jedes Frame ein neuer Anfang ist, und das Script somit sooft durchlaufen wird wie es Frames gibt

Das stimmt, denn mit der alten Variante (auf der Sponsorenebene) hatte ich tatsächlich nicht immer exakt 13 Zufallskombinationen, sondern die Anzahl an Frames, die bis zum nächsten Sponsoraufruf durchlaufen wurde, gab die Anzahl der Zufallskombinationen vor.

Auf der separaten Ebene existiert nur jeweils ein Schlüsselbild, also ein Funktionsaufruf...

Ich habe mein Problem per try and error zwar gelöst, aber Danke für die Erklärung, denn meine Lösung war ein reiner Zufallstreffer... :)
 
Zurück