Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 05-08-2004, 09:59   #1 (permalink)
nah dran
 
Benutzerbild von -Panda-
 
Registriert seit: Sep 2002
Ort: Karlsruhe
Beiträge: 147
Question emptyMovieClip an Klasse anmelden + super()

Hallo,

habe ein kleines Problem mit __proto__ und super().

Ich erstelle einen leeren MovieClip und melde ihn mit __proto__ bei der Unterklasse an. An die init-Methode übergebe ich Eigenschaften, die z.T. an die Oberklasse weitergegen werden sollen. Dazu habe ich super.init(param) verwendet.



PHP-Code:
// _________________________________________
// __ SuperClass ___________________________
SuperClass = function () {
};
SuperClass.prototype = new MovieClip();
SuperClass.prototype.init = function(pXpY) {
    
trace("SuperClass init");
    
this.pX;
    
this.pY;
};
// _________________________________________
// __ SubClass _____________________________
SubClass = function () {
};
SubClass.prototype = new SuperClass();
SubClass.prototype.init = function(pXpYpTest) {
    
trace("SubClass init");
    
this.test pTest;
    
trace(this.test);
    
super.init(pXpY);
    
};
// _________________________________________
this.createEmptyMovieClip("mc"1);
mc.__proto__ = new SubClass();
mc.init(100"Test"); 

Seltsamerweise wird bei dieser Kombination - Anmelden mit __proto__ und Parameterübergabe mit super.Methode(), wenn die Methoden der Ober- und Unterklasse gleich heißen (also in meinem Fall init) - die Methode init der Unterklasse auch nochmal durchlaufen. Und dabei werden die beim ersten Aufruf gesetzen Eigenschaften wieder gelöscht. Aber nur beim Veröffentlichen für v6, bei v7 passiert das nicht.

Weiß jemand, wie es dazu kommt und wie ich es umgehen kann, ohne daß ich den init-Methoden der einzelnen Klassen verschiedene Bezeichnungen geben muß?? Gibts eigentlich noch eine andere Möglichkeit, einen leeren MovieClip mit einer Klasse zu verknüpfen?

Bitte helfen!!!

Es grüßt der Panda
-Panda- ist offline   Mit Zitat antworten
Alt 05-08-2004, 10:30   #2 (permalink)
...or not?!
 
Benutzerbild von Sir-FlashAlot
 
Registriert seit: May 2003
Ort: Camelot
Beiträge: 157
Und warum nicht einfach so:

ActionScript:
  1. mc = new SubClass();

???

Bei mir durchläuft er dann nur einmal die SubClass - init()...
__________________
Gruß

Sir-FlashAlot
Sir-FlashAlot ist offline   Mit Zitat antworten
Alt 05-08-2004, 15:04   #3 (permalink)
nah dran
 
Benutzerbild von -Panda-
 
Registriert seit: Sep 2002
Ort: Karlsruhe
Beiträge: 147
Warum einfach wenns auch komplizert geht

Ich glaube ich hab da zwei Schreibweisen vermengt, folgendes klappt nämlich auch einwandfrei:

mc.__proto__ = SubClass.prototype;

Danke für die schnelle Hilfe!

Panda
-Panda- 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 10:53 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele