Script auf 1.frame _root versus auf Button

cargo

Mitglied
Hallo,
Möchte mein Script in das erste Frame_root legen.
Das funktioneiert aber nur beim ersten und zweiten Aufruf!
Wenn ich die Scripte direkt auf die Buttons lege , läuft alles.
Genau das möchte ich aber der Übersicht halber vermeiden.
Wer schaut mal drauf?
Beide Varianten anbei ...

cargo
 

Anhänge

  • root_btn.zip
    17,4 KB · Aufrufe: 10
Hi,

das kann ich Dir sagen: Du gehst mit gotoAndStop zu einem Schlüsselbild, in dem der Button "red_btn" nicht mehr existiert... damit existiert kein Verweis mehr auf das Objekt und auch die Handler (onRelease usw.) sind perdu. ;) Warum überhaupt so eine komplexe Kombination aus Zeitleisten und AS - und warum keine relativen Pfade?

Im Anhang findest Du ein Beispiel ohne Zeitleiste, das mit beliebig vielen Buttons und Kreisen funktioniert.

Gruß
.
 

Anhänge

  • kreise_mx.zip
    5,2 KB · Aufrufe: 20
Hi Datic,
zunächst mal danke führ die schnelle Reaktion.
Läuft in der Tat gut dein Beispiel - ich kann es allerdings als jemand, der was AS betrifft doch eher an der Oberfläche treibt, nicht komplett nachvollziehen.
....und verstehe nach wie vor nicht, warum sich mein "Entwurf" EINMAL ausführen lässt.
Und dann nicht mehr.
Ich schicke doch alles wieder auf frame 1 in den MCs
Und die Kreise sind auch nur Platzhalter für eine Menue-Struktur.
Das heisst, sie über __ "kreis"+i ___ anzusprechen, macht im weiteren für mich keinen Sinn.
Deshalb ja der Wunsch, alles im ersten Frame zu platzieren, um von dort aus alles steuern zu können.

Grüße nach Hessn aus Berlin
cargo
 
Und noch was, Datic:
in dem MC, in dem ich mit gotoandstop auf ein Schlüsselbild ohne Button schicke, ist das ja auch gewollt.
Ich schicke in dem jeweils anderen MC doch aber auf ein Schlüsselbild MIT Button drin.
Dann dürfte doch schon der zeite Versuch vergeblich sein?
Oder habe ich hier die Struktur von Flash komplett missverstanden?

cargo
 
Ich schicke doch alles wieder auf frame 1 in den MCs
ja, aber da kennen Deine Buttons ihre onRelease usw. Handler schon nicht mehr - sie werden beim Aufruf eines neuen Schlüsselbildes als ganz neue Objekte angesehen. Du müsstest dann quasi den Code auf _root (blabla.onRelease ...) auch jedes Mal noch einmal ausführen!

Mein Beispiel sollte Dir auch weniger als Vorlage dienen, als vielmehr aufzeigen, wie man einer bestimmten Anzahl zur Laufzeit Methoden und Handler hinzufügt, die miteinander interagieren können. Ich habe die Objekte hier einfach mal fortlaufend benannt und mir Zugriff über die Instanznamen geholt... wie Du das im Endeffekt machst, ist eigentlich egal (nimm Arrays, schreibs direkt rein oder lass die Objekte sich selbst registrieren), ich würde Dir aber auf jeden Fall abraten, zu viel mit Schaltflächen und Schlüsselbildern zu machen. Wenn Du ein Schlüsselbild velässt, das ein Symbol ethält, so verfallen augenblicklich sämtliche Variablen, Funktionen und Handler dieses Objektes, die von aussen angelegt wurden, und werden auch beim erneuten Aufrufen dieses Schlüsselbildes nicht wieder rekonstruiert.

Es ist vielleicht auch nicht die beste Methode, alles von _root aus mit absoluten Pfaden zu steuern - dann bekommst Du nämlich spätestens dann ein Problem, wenn Du das ganze Konstrukt irgendwo anders einbauen (oder die Tiefe ändern) willst.

Wenn Du unbedingt mit Zeitleisten arbeiten musst, achte wenigstens darauf, dass alle Objekte, die sich irgendwas merken müssen, nur ein Schlüsselbild pro Zeitleiste besitzen.

Gruß

P.S.:
Dann dürfte doch schon der zeite Versuch vergeblich sein?
Ist er auch, nur nicht der erste: Zunächst befindet sich ja alles in Frame 1 - und wenn Du in Frame 1 sagst, "gotoAndStop(1)", ändert sich erstmal nix. ;)
.
Probiers einfach mal aus: Pack eine trace-Aktion in den onRelease-Handler des Buttons und du wirst sehen, dass nichts mehr ausgegeben wird, sobald der Button einmal "weg" war.
.
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück