Zurück   Flashforum > Flash > ActionScript > Softwarearchitektur und Entwurfsmuster

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 09-05-2003, 17:33   #1 (permalink)
Herr Brot
 
Benutzerbild von mati
 
Registriert seit: Dec 2002
Beiträge: 1.692
Unterklasse von MovieClip

hi!
hab noch nicht wirklich viel mit oop in as am hut. habe vor eine unterklasse von MovieClip zu erzeugen. ralf hat in einem anderen thread schon angeschnitten, dass dies mit __proto__ oder mit Object.registerClass möglich sei.
habs mal auf die schnelle so probiert, wird wahrscheinlich müll sein... aber:
ActionScript:
  1. foo = function() {
  2.     trace("erstellt");
  3. }
  4. MovieClip.__proto__ = new foo();
  5. test = new foo();
nun möcht ich also wissen, wie ich es schaffe eine klasse zu erstellen, mit der ich alles anstellen kann, was auch ein MovieClip kann.

gruß + dank, mati
__________________
„Ich war geheilt, all right!“
mati ist offline   Mit Zitat antworten
Alt 09-05-2003, 17:36   #2 (permalink)
◘ ◘
 
Benutzerbild von beachmeat
 
Registriert seit: Dec 2001
Ort: Amsterdam
Beiträge: 6.126
registerClass - schau einfach in die Doku, ist ziemlich simpel
__________________
jeden Tag frisch
beachmeat ist offline   Mit Zitat antworten
Alt 09-05-2003, 17:46   #3 (permalink)
Herr Brot
 
Benutzerbild von mati
 
Registriert seit: Dec 2002
Beiträge: 1.692
durchgelesen, nicht alles kapiert, des probiert, geht net:
ActionScript:
  1. foo = function() {
  2.     trace("erstellt");
  3. }
  4. foo.prototype = new MovieClip();
  5. test = new foo();
  6. test.lineStyle(2, 0x000000, 100);
  7. test.moveTo(0,0);
  8. test.lineTo(100,100);

mati
__________________
„Ich war geheilt, all right!“
mati ist offline   Mit Zitat antworten
Alt 09-05-2003, 17:51   #4 (permalink)
Neuer User
 
Registriert seit: Jun 2001
Ort: Stuttgart
Beiträge: 6.415
das is doch das eben erwähnte problem(kreuzverweis auf den anderen thread)

du musst das so machen:
Object.registerClass (deinMC,deineKlasse);

also mc erstellen per createEmpty..
und dann Klasse zuweisen
die lösung mit dem __proto__ is nich von MM abgesegnet also warum anders machen wenns au so geht

deluxe
Deluxe ist offline   Mit Zitat antworten
Alt 09-05-2003, 17:53   #5 (permalink)
helpQLODhelp
 
Benutzerbild von bokel
 
Registriert seit: Feb 2002
Ort: Köln
Beiträge: 8.505
Würdest du nicht crossposten, wüsstest du die Lösung schon

mfg r.
bokel ist offline   Mit Zitat antworten
Alt 09-05-2003, 17:55   #6 (permalink)
Neuer User
 
Registriert seit: Jun 2001
Ort: Stuttgart
Beiträge: 6.415

geil..


deluxe

edit:ums jetzt nich unnötig kompliziert zu machen
bleib ich mal hier
wird MM __proto__ in folgenden versionen weiterverwenden ?
oder bin ich noch recht informiert dass dies wohl nich passiert

Geändert von Deluxe (09-05-2003 um 17:59 Uhr)
Deluxe ist offline   Mit Zitat antworten
Alt 09-05-2003, 18:03   #7 (permalink)
◘ ◘
 
Benutzerbild von beachmeat
 
Registriert seit: Dec 2001
Ort: Amsterdam
Beiträge: 6.126
könnte mir fast vorstellen, das die das rausschmeissen, weils ja auch keine Ecma 262 komponenten ist (Javascript gibts proto afaik nur beim Netscape zugänglich)
__________________
jeden Tag frisch
beachmeat ist offline   Mit Zitat antworten
Alt 09-05-2003, 18:04   #8 (permalink)
Herr Brot
 
Benutzerbild von mati
 
Registriert seit: Dec 2002
Beiträge: 1.692
Zitat:
Geschrieben von bokel
Würdest du nicht crossposten, wüsstest du die Lösung schon

mfg r.
ich habe nicht crossgeposted! im mx-forum sind wir (oder auch nur ich) auf die frage gestoßen, es hatte letztendlich nichts mehr mit dem eigentlichen threadthema zu tun. da du, ralf, ja schon in dem thread erwähnt hast, dass es sich um oop handelt, habe ich hier im oop-bereich einen thread dazu eröffnet. find ich nicht ganz fair als crossposter hingestellt zu werden, denn eigentlich hab ich mich hierdurch nur an die foren-regeln gehalten, in einem thread beim thema zu bleiben, sich zu überlegen wo man was posted und sinnvolle threadüberschriften zu wählen.

mati
__________________
„Ich war geheilt, all right!“
mati ist offline   Mit Zitat antworten
Alt 09-05-2003, 18:08   #9 (permalink)
Neuer User
 
Registriert seit: Jun 2001
Ort: Stuttgart
Beiträge: 6.415
denke des war au nich böse gemeint
hast du die lösung jetzt?

@beachmeat: also komplette ecma annäherung?


deluxe
Deluxe ist offline   Mit Zitat antworten
Alt 09-05-2003, 18:09   #10 (permalink)
helpQLODhelp
 
Benutzerbild von bokel
 
Registriert seit: Feb 2002
Ort: Köln
Beiträge: 8.505
Möglich wäre es auf jeden Fall. Dann kann man halt zur Laufzeit keine existierenden MovieClips mehr umbiegen. Das braucht man eh nicht so haeufig.

@mati
Ist schon gut. Ich kenn mich mit Regeln nicht so aus. Ich dachte nur, dass man die Antwort am ehesten dort erwartet, wo die Frage gestellt worden ist. Aber wenn du gerne suchen tust ...

@deluxe
doch das war sogar unheimlich böse gemeint, geradezu erschreckend mörderisch und extrem vernichted böse, sozusagen voll evil

mfg r.
bokel ist offline   Mit Zitat antworten
Alt 09-05-2003, 18:12   #11 (permalink)
Herr Brot
 
Benutzerbild von mati
 
Registriert seit: Dec 2002
Beiträge: 1.692
Zitat:
Geschrieben von Deluxe
hast du die lösung jetzt?
deluxe

nein, leider nicht wirklich...
__________________
„Ich war geheilt, all right!“
mati ist offline   Mit Zitat antworten
Alt 09-05-2003, 18:36   #12 (permalink)
helpQLODhelp
 
Benutzerbild von bokel
 
Registriert seit: Feb 2002
Ort: Köln
Beiträge: 8.505
Hier sind ein paar Möglichkeiten

ActionScript:
  1. MyClass = function(){};
  2. MyClass.prototype = new MovieClip();
  3. MyClass.prototype.methode = function(){
  4.        trace(this + ".methode");
  5.        //
  6.        this.lineStyle(20);
  7.        this.lineTo(1,1);
  8.        this._x = random(200);
  9.        this._y = random(200);
  10.       
  11. }
  12.  
  13. // Setzt Klasse über __proto__
  14. mc1 = createEmptyMovieClip("mc1", 1)
  15. mc1.__proto__ = new MyClass();
  16. mc1.methode();
  17.  
  18. // Setzt Klasse über __proto__ ohne new aufzurufen
  19. mc11 = createEmptyMovieClip("mc11", 11)
  20. mc11.__proto__ = MyClass.prototype;
  21. mc11.methode();
  22.  
  23.  
  24.  
  25. // Setzt Klasse ohne __proto__
  26. mcp = MovieClip.prototype;
  27. MovieClip.prototype = MyClass.prototype;
  28. mc2 = createEmptyMovieClip("mc2", 2)
  29. MovieClip.prototype = mcp;
  30. mc2.methode();
  31.  
  32. // Setzt Klasse ueber Object.registerClass
  33. // Dazu muss man in der Bibliothek einen MovieClip
  34. // mit dem Verknüpfungsnamen MySymbol anlegen
  35. Object.registerClass("MySymbol", MyClass);
  36. mc3 = attachMovie("MySymbol", "mc3", 3);
  37. mc3.methode()
  38.  
  39. // Setzt Klasse ueber Kopieren
  40. // Echte Vererbung ist das dann zwar
  41. // nicht mehr, aber der Effekt ist ähnlich
  42. mc4 = createEmptyMovieClip("mc4", 4)
  43. for(var i in MyClass.prototype){
  44.     mc4[i] = MyClass.prototype[i];
  45. }
  46. mc4.methode();

mfg r.

Geändert von bokel (11-11-2004 um 23:44 Uhr)
bokel ist offline   Mit Zitat antworten
Alt 09-05-2003, 21:04   #13 (permalink)
Herr Brot
 
Benutzerbild von mati
 
Registriert seit: Dec 2002
Beiträge: 1.692
danke ralf,

ich werd mir die verschiedenen möglichkeiten anschauen und hoffe, dass ich sie verstehe. ansonsten meld ich mich morgen oder am sonntag nochmal.

gruß, mati
__________________
„Ich war geheilt, all right!“
mati ist offline   Mit Zitat antworten
Alt 19-05-2003, 15:31   #14 (permalink)
Neuer User
 
Benutzerbild von the binary
 
Registriert seit: Jul 2001
Ort: Berlin | Friedrichshain
Beiträge: 3.561
sowas hab ich auch gesucht.

und welche von diesen möglichkeiten ist vorzuziehen ?

gruss
__________________
8bm | join ff@BOINC
formpackage.org | audiohunter.de | problematica.de | 8ball-media.de/blog | taikonauten.cn
the binary ist offline   Mit Zitat antworten
Alt 20-05-2003, 10:16   #15 (permalink)
Flashtheoretiker
 
Benutzerbild von Niels
 
Registriert seit: Jun 2001
Ort: earth.brd.freiburg
Beiträge: 597
*hust*

Arme FLash 5 Entwickler können schlecht auf registerClas zugreifen
__________________

mfG
Niels

"Die einzige Möglichkeit Menschen zu motivieren ist auf Verständnis und Verständigung ausgerichtete Kommunikation."

"Eine gute Theorie ist das Praktischste, was es gibt."
Gustav Robert Kirchhoff (1827-87), dt. Physiker


Suchen und Finden:
Flashforum | search&find
Flashforum | tutorials


proto resources, no forum:
Flashpower | prototyped

Niels 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 15:47 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele