Hi Timo, das Vererben der Methoden an die Mcs funktioniert super, wenn ich allerdings indem Mc selber etwas definiere wie z.B x = 200; ist meinMC.x = undefined und nicht = 200, momentan schreib ich in den MC selber ein OnLoadEvent wo sein erster x wert an sich selber übergeben wird, kann man das nicht irgendwie anders machen. Gruß und danke Peter timo stamm <t.stamm@xxxxxxxxxx> Sent by: ascoders-bounce@xxxxxxxxxxxxx 13.11.2002 20:22 Please respond to ascoders To: ascoders@xxxxxxxxxxxxx cc: timo stamm <t.stamm@xxxxxxxxxx> Subject: [ascoders] Re: OOP Frage peter, das wird dir vielleicht helfen: //--- klasse definieren klasse = function (argument) { this.init(argument); }; klasse.prototype = new MovieClip(); // ist nur nötig wenn die zielinstanz MC ist klasse.prototype.init = function (argument) { this.daten = argument; }; klasse.prototype.methode = function () { return this.daten; }; //--- an bestehendes objekt vererben meinMC.__proto__ = klasse.prototype; // methoden vererben meinMC.init("wert"); // "konstruktor" aufrufen meinMC.methode(); // "wert" Timo Am Dienstag, 12.11.02 um 13:24 Uhr schrieb Peter.Geller@xxxxxxxx: > > Hi, > ich kann ohne Probleme Klassen erstellen davon Instanzen und widerrum > verschiedene Eigenschaften vererben, > allerdings habe ich ein Problem damit, die Eigenschaften auf schon > bestehende MCs auf der Bühne weiterzugeben. > (ohne jetzt mit registerClass Klassen an MCs aus der Bühne > zuverknüpfen) > > Danke Peter > > <image.tiff> > > > > > Aloha, > > prototype kannst Du benutzen um bestehende Klassen (Object, Movieclip, > Array ...) um Methoden ( ~ klasseneigene Funktionen ) zu erweitern, > oder um eigenen Klassen Methoden zu geben. > Der Nachteil wenn man jeden MC eine ähnliche Funktion gibt, die man > eventuell auch einfach durch Übergabe von Parametern lösen könnte ist > erstens die Eleganz und Konsistenz als auch der Speicherbedarf. > > BSP für Klasse und prototype: > > function Class(id){ // Klassenkonstruktor > this.id = id > } > Class.prototype.ident = function(){ //Klassenmethode > trace(this.id); > } > test = new Class("aloha"); // Instanz erstellen > test.ident(); // Methode aufrufen > > Grüße > Manuel > ----- Original Message ----- > From: Peter.Geller@xxxxxxxx > To: ascoders@xxxxxxxxxxxxx > Sent: Tuesday, November 12, 2002 9:01 PM > Subject: [ascoders] Re: OOP Frage > > > Das hieße ich schreibe oder verweise einfach die Funktion in das > Objekt, um es dann später aufrufen zu können. > D.h. prototypfunktionen benutze ich nur für Klassen von denen ich > Instanzen erzeugt habe, oder? > Hat es eigentlich irgendwelche Nachteile wenn ich die Funktion an den > Mc anhänge? > Ich habe nämlich momentan mehrere Mcs denen ich verschiedene > Eventeigenschaften verpasst habe damit ich z.B. > Buttonfunktionen alle übersichtlich auf dem ersten Keyframe habe und > abändern kann. > > Gruß Peter > <image.tiff> > > > > > > Hallo, > > das kannst Du schon, aber dazu solltest Du "renndaten" als Klasse > definieren. > Ein Movieclip an sich hat keinen Prototype, lediglich die Klasse > Movieclip.... > Einen prototype für einen MC zu definieren, macht auch eigentlich > keinen Sinn, da kannst Du ja auch einfach ne Funktion machen.... > > Ich würd das eh eher so schreiben: > movieclip.prototype.preselect = function(){ > trace("hallo"); > } ; > this.renndaten.maerz_03.preselect(); > > > Grüße > Manuel > > > > ----- Original Message ----- > From: Peter.Geller@xxxxxxxx > To: ascoders@xxxxxxxxxxxxx > Sent: Tuesday, November 12, 2002 8:05 PM > Subject: [ascoders] OOP Frage > > > Hi, > warum klappt das so > > loslassen = function(){trace("hallo"} > MovieClip.prototype.preselect = loslassen; > this.renndaten.maerz_03.preselect(); > > und nicht so > > loslassen = function(){trace("hallo"} > this.renndaten.maerz_03.prototype.preselect = loslassen; > this.renndaten.maerz_03.preselect(); > > wenn ich die Funktion schon mit prototyp auf bestehende Mcs vererben > kann, > wieso nicht auf einen speziellen??? > > Gruß Peter ------------------------------------------------------ Archiv : //www.freelists.org/archives/ascoders/ Optionen : //www.freelists.org/list/ascoders ------------------------------------------------------