Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 19-01-2006, 09:53   #1 (permalink)
Neuer User
 
Registriert seit: Feb 2004
Beiträge: 72
Skript zentralisieren

ich habe mittlerweile ziemlich viel programmcode, der blöderweise noch in vielen verschiedenen mcs steckt.
da ich da langsam nicht mehr durchblicke bzw. die ganze zeit zwischen den mcs wechseln muss, wollte ich das ganze jetzt zentralisieren.

ich fasse mal kurz zusammen, was ich bis jetzt herausbekommen hab (korrigiert mich, falls es falsch ist):

einen button kann man so gewissermaßen von der hauptzeitleiste "fernsteuern":
ActionScript:
  1. _root.mc1.schalter.onPress = function() {
  2.     trace("Button gedrückt!");
  3. };

das ganze bei einem movieclip:
ActionScript:
  1. _root.mc.onEnterFrame = function() {
  2.     trace("Frame betreten");
  3. };

jetzt meine frage: wie sieht das ganze aus bei der dritten möglichkeit, code zu schreiben, nämlich direkt in einen keyframe?
beispielsweise will ich, dass in einem bestimmten untergeordneten button code ausgeführt wird, wenn sich der abspielknopf an frame 12 befindet.
wie würde ich diesen fall zentral von der hauptzeitleiste steuern? sowas wie:
ActionScript:
  1. _root.mc_ober.mc_unter.onEnterFrame(12) = function() {
  2.     trace("Frame 12 betreten");
  3. };
scheint nicht zu gehen. das einzige, was mir jetzt einfallen würde wäre:
ActionScript:
  1. _root.mc_ober.mc_unter.onEnterFrame = function() {
  2.     if (_root.mc_ober.mc_unter._currentframe() == 12) {
  3.         trace("Frame 12 betreten");
  4.     }
  5. };

Ist aber wenig performant, weil er ja jedes frame die if-bedingung testen muss. JEMAND EINE IDEE?

apropos performance: ist es nicht schneller, den code direkt an ort und stelle zu lassen? oder macht das keinen unterschied, ihn zentral an einen ort zu schreiben?

Geändert von hyperframe (19-01-2006 um 11:23 Uhr)
hyperframe ist offline   Mit Zitat antworten
Alt 19-01-2006, 09:58   #2 (permalink)
Waffe==Verstand
 
Benutzerbild von p-flash
 
Registriert seit: Jul 2004
Ort: Düsseldorf
Beiträge: 724
Hi,

in deinem Fall würde ich den Code direkt im Frame 12 schreiben. Was du machen kannst ist folgendes:

In Frame 1
ActionScript:
  1. function codeForFrame12 () { //... }
  2.  

In Frame 12
ActionScript:
  1. codeForFrame12();

So kannst du jede Änderung in Frame 1 vornehmen.

p-flash
p-flash ist offline   Mit Zitat antworten
Alt 19-01-2006, 11:28   #3 (permalink)
Neuer User
 
Registriert seit: Feb 2004
Beiträge: 72
ja, gute idee, warum eigentlich nicht!?

jetzt ist mir aber noch etwas anderes aufgefallen:
was ist mit durch "attachMovie" in dynamisch erzeugten MCs? wenn in diesen code liegen soll?

dann müsste ich ja für jeden attachten MC nachträglich den code von der hzl kopieren?
hyperframe ist offline   Mit Zitat antworten
Alt 19-01-2006, 11:30   #4 (permalink)
Neuer User
 
Registriert seit: Feb 2004
Beiträge: 72
Lightbulb

öh, moment! *gehirn einschalt*
nicht zuende gedacht
den könnte ich ja auch durch functions einbinden...!

was wäre jetzt aber, wenn in den attachten mcs einer sorte unterschiedlicher code ausgeführt werden soll? dann könnte ich es ja nur über die hauptzeitleiste machen..?

müsste ich dann einen frame warten, nachdem die mcs erstellt wurden? oder ginge das in einem aufwasch?

Geändert von hyperframe (19-01-2006 um 11:41 Uhr)
hyperframe ist offline   Mit Zitat antworten
Alt 19-01-2006, 11:47   #5 (permalink)
Waffe==Verstand
 
Benutzerbild von p-flash
 
Registriert seit: Jul 2004
Ort: Düsseldorf
Beiträge: 724
Wenn du Mcs attachst kannst du sie sofort initialisieren.

z.B.

ActionScript:
  1. var mc = attachMovie("id", "id"+tiefe, tiefe);
  2. mc.onRelease = function () { _root.tuDies(); };

oder meintest du das nicht?

p-flash
p-flash ist offline   Mit Zitat antworten
Alt 19-01-2006, 12:47   #6 (permalink)
Neuer User
 
Registriert seit: Feb 2004
Beiträge: 72
Zitat:
Zitat von p-flash
Wenn du Mcs attachst kannst du sie sofort initialisieren.
(...)
oder meintest du das nicht?
p-flash
doch, genau das! war mir nur nicht sicher, ich hatte irgendwann vorher mal gehört, dass bei einer bestimmten aktion die mcs mindestens ein frame auf der bühne sein müssen. weiß aber nicht mehr genau, was das war

aber egal, so wie beschrieben werd ich das ganze realisieren.
freu mich schon auf die neu erlangte übersicht

thanx@all!!
hyperframe 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 05:39 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele