[ascoders] Re: OOP Frage

  • From: Peter.Geller@xxxxxxxx
  • To: ascoders@xxxxxxxxxxxxx
  • Date: Wed, 13 Nov 2002 09:25:01 +0100

Guten Morgen,
Danke für den Link, aber das funktioniert doch nur wenn man registerClass 
benutzt und den
MC aus der Bibliothek auf die Bühne attached und vorher mit einer ID 
versehen hat,
einen direkten bezug zu einem MC der schon auf der Bühne liegt ohne ID 
kann ich da nicht herstellen oder?

Danke Peter




Manuel.Dahm@xxxxxxxxxxx (Manuel Dahm)
Sent by: ascoders-bounce@xxxxxxxxxxxxx
13.11.2002 01:49
Please respond to ascoders
 
        To:     <ascoders@xxxxxxxxxxxxx>
        cc: 
        Subject:        [ascoders] Re: OOP Frage


Hi, schau Dir mal das hier an:
http://www.quantumwave.com/flash/vmc.html
 
Grüße
Manuel
----- Original Message ----- 
From: Peter.Geller@xxxxxxxx 
To: ascoders@xxxxxxxxxxxxx 
Sent: Tuesday, November 12, 2002 10:24 PM
Subject: [ascoders] Re: OOP Frage


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 



Manuel.Dahm@xxxxxxxxxxx (Manuel Dahm) 
Sent by: ascoders-bounce@xxxxxxxxxxxxx 
12.11.2002 21:18 
Please respond to ascoders 
        
        To:        <ascoders@xxxxxxxxxxxxx> 
        cc:         
        Subject:        [ascoders] Re: OOP Frage



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 


Manuel.Dahm@xxxxxxxxxxx (Manuel Dahm) 
Sent by: ascoders-bounce@xxxxxxxxxxxxx 
12.11.2002 20:17 
Please respond to ascoders 
        
       To:        <ascoders@xxxxxxxxxxxxx> 
       cc:         
       Subject:        [ascoders] Re: OOP Frage




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 

Other related posts: