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

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 08-11-2004, 08:59   #1 (permalink)
Neuer User
 
Benutzerbild von argv
 
Registriert seit: Apr 2004
Beiträge: 191
Klasse von MovieClip abgeleitet, doch eine Frage hab ich da noch :-)

hallo,

hier mal meine kleine klasse.
sie ist von MovieClip abgeleitet und wurde nur dahingehend ergänzt, dass sie 2 Member haben soll, die die X/Y-Position dahingehend speichern, dass ich bei evtl. späterem verschieben der MC immer wieder auf die Urspungsposition zurücksetzen kann, welche ich mir dann über die 2 Member festleg.

Aslo hier mal die Klasse:

import Klassen.*;
class Klassen.MCEClass extends MovieClip{

private var _xpos;
private var _ypos;

public function MCEClass(){
_xpos = 0;
_ypos = 0;
//trace("drin");
}

public function setPos(xpos,ypos){
_xpos = xpos;
_ypos = ypos;

}
public function getXpos(){
return _xpos;
}
public function getYpos(){
return _ypos;
}
}

..so nun zu meiner Frage. So leg mir n Objekt an und möchte dann damit mir nen neuen Mc createn.

also so hier:

var myOb = new MCEClasse();
myOb.createEmptyMovieCLip(......);

so nun zu meiner Frage. Wie kann ich erreichen das der Eben erstellte MC auch gleich nen Objekt von meiner Klasse ist und nicht nur ein Normaler MC vom Typ MovieClip oder macht der das gleich? Weil sonst wär es ja sinnlos, weil ich ja gerad möchte das die mit create erstelleten MC's von meiner Klasse Objekte sind.


Danke...
argv ist offline   Mit Zitat antworten
Alt 08-11-2004, 09:13   #2 (permalink)
Flashaholic
 
Benutzerbild von atothek
 
Registriert seit: Feb 2003
Ort: Berlin
Beiträge: 1.459
das problem ist ein anderes. deine klasse verfügt zwar über alle methoden eigenschaften und events von der MovieClip klasse jedoch mußt du wrapper für sowas wie createEmptyMovieClip schreiben. das liegt daran das diese methoden eine zeitleiste brauchen. zB

var instanz : MCEClass = new MCEClass();
instanz.createEmptyMovieClip("mc1", 1);

wird nix machen und zwar weil instanz keine zeitleiste besitzt.

PHP-Code:
    public function createEmptyMovieClip(mcnamedepth){
        
mc.point this;
        
mc.createEmptyMovieClip(namedepth);
    } 
diese kleine wrapper methode würde dir schon helfen. aber elegant ist das nicht, eher ein mischmasch.
ich würde es nicht so machen. erzeug dir eine kleine point klasse oder nimm meine

PHP-Code:
class de.gengon.geometry.Point{
    
    private var 
__x Number 0;
    private var 
__y Number 0;
    
    public class 
Point(NumberNumber){
        
__x x;
        
__y y;
    }
    
    public function 
setX(Number) : Void{
        
__x n;
    }
    
    public function 
getX() : Number{
        return 
__x
    
}
    
    public function 
setY(Number) : Void{
        
__y n;
    }
    
    public function 
getY() : Number{
        return 
__y
    
}

und erstelle in dem mc eine instanz dieser klasse und speicher die alten coords
es ist eleganter und leichter wieder zu verwenden. oder du schreibst einen MovieClip prototype in as1 das würde auch noch gehen.

mfg
alex
__________________
TVNEXT Solutions
atothek ist offline   Mit Zitat antworten
Alt 08-11-2004, 11:37   #3 (permalink)
Neuer User
 
Benutzerbild von argv
 
Registriert seit: Apr 2004
Beiträge: 191
grüsse,

danke für die schnelle antwort.

nu werd es so machen, wie du gesagt hast. danke nochmals...
argv 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:30 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele