Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 12-05-2004, 16:55   #1 (permalink)
Flash it baby!
 
Registriert seit: Feb 2003
Beiträge: 287
Question Vorteil registerClass()

Hallo,

ich habe mal eine grundsätzliche Frage zu registerClass(). Was ist genau der Vorteil davon?

zB:
ActionScript:
  1. meineKlasse=function(){
  2. }
  3. meineKlasse.prototype=new MovieClip();
  4. Object.registerClass("mc1",meineKlasse);
  5. Object.registerClass("mc2",meineKlasse);
  6. mc1.meineKlasse();
  7. mc2.meineKlasse();
Ist es nicht umständlich, wenn ich mir erst eine Klasse definiere, dann die Prototypen der MovieClip-Klasse übernehme und dann an ein Mc anhänge?
Ist es dann nicht viel einfacher, meineKlasse direkt an die MovieClip-Klasse zu hängen und kann diese direkt in jedem Mc aufrufen:
ActionScript:
  1. MovieClip.prototype.meineKlasse=function(){
  2. }
  3. mc1.meineKlasse();
  4. mc2.meineKlasse();

Ich hab schon in meinen schlauen Flashbüchern nachgeschlagen, aber leider wie meistens, steht dort nur was man wie macht, aber der Sinn um die Logik zu verstehen, der fehlt.

Danke!!
Da_Judge ist offline   Mit Zitat antworten
Alt 12-05-2004, 21:16   #2 (permalink)
helpQLODhelp
 
Benutzerbild von bokel
 
Registriert seit: Feb 2002
Ort: Köln
Beiträge: 8.505
Wenn du den MovieClip.prototype erweiterst, dann hat jeder MovieClip die entsprechenden Methoden.

Wenn du mit Object.registerClass arbeitest, dann hat nur der Clip die Methoden, der auch für die Klasse registriert ist.

Bei kleinen Projekten kann MovieClip.prototype sicher hilfreich sein, weil man dann nicht mehr umständlich nach dem Pfad für eine Funktion suchen mussen.

Bei groesseren Projekten kann das aber schnell unübsichtlich werden. Stell dir vor, jeder MovieClip hätte 100 oder mehr zusaetzliche Funktionen und wahrscheinlich nochmal 100 zusaetzliche Variablen. (Ich weiss, das hört sich unwahrscheinlich an, aber das gibt es tatsächlich ) Das wird dann schnell chaotisch. Dafür nimmt man dann lieber Object.registerClass und beschränkt die Funktionen auf die Objekte, die sie auch wirklich brauchen.

mfg .r
bokel ist offline   Mit Zitat antworten
Alt 12-05-2004, 21:48   #3 (permalink)
Flash it baby!
 
Registriert seit: Feb 2003
Beiträge: 287
Hi bokel,

ich habe schon gehofft, dass mir einer von Euch Flashforum-Gurus Auskunft gibt

Gut, dann hat das ganze also rein was mit Organisation zu tun. Von der Performance usw. sollte es ja egal sein, welche Methode man nimmt.


Weil ich schon mal einen Fachman hier habe, stelle ich gleich noch ne andere Frage :

ich habe mein ganzes AS in einem Frame. Jetzt liegt auf meiner Seite in einem anderen Frame ein Mc der als Button dient. Gibt es eine andere Möglichkeit, außer über einen Funktionsaufruf in diesem Frame, dem Button zB sein OnRelease zuzuweisen. Also auch wieder über das AS in dem einen Frame?
Klar ich könnte ein onEnterFrame machen, das überprüft in welchem Frame ich gerade bin und dann je nach Bedarf die Funktionen ausführt, aber das wäre wohl nicht der Sinn der Sache.

Ach noch ne Frage zu onEnterFrame:

Was ich festgestellt habe, kann ich nicht ein onEnterFrame in einem Mc deleten und gleich wieder eins starten - ist das richtig, oder gibts dafür ne Lösung?

Danke für Deine Antworten!!!
Da_Judge 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 11:15 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele