Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 24-06-2004, 08:40   #1 (permalink)
a.k.a maddin79
 
Benutzerbild von madflanderz
 
Registriert seit: Jul 2003
Ort: berlin f-hain
Beiträge: 1.693
Konstruktor von bestehenden Klassen Ändern

ich suche nach einer methode die kontruktoren der vorgegebenen AS-Klassen nach meinen wünschen anzupassen und zu erweitern. Aber wie kommt man am besten an die dinger ran ??????

der bokel hat z.B. den konstruktor vom textfeld so verbogen:
PHP-Code:

 o 
TextField;
_global.TextField = function(){
    
super();
    var 
tf = new TextFormat();
    
tf.font "Arial";
    
tf.size 25;
    
this.setTextFormat(tf);
    
this.setNewTextFormat(tf);
}
TextField.prototype = new o();
delete o;

createTextField("t"100300300);
t.border 1;
t.text "hallo"

jetzt wollte ich das ganze mal mit nem movieclip versuchen, aber es passiert NICHTS ????
PHP-Code:

MovieClip
_global.MovieClip = function(){ 

    
super();
    
trace("hallo");
  

MovieClip.prototype = new o(); 
delete o

_root.createEmptyMovieClip("meinMc"1); 
wär nett, wenn mal jemand das allgemeine vorgehen beim ändern von kontruktoren erklären könnte.

@bokel - ne kleiner kommentar zu deinem script wär auch cool
madflanderz ist offline   Mit Zitat antworten
Alt 24-06-2004, 08:52   #2 (permalink)
Flashaholic
 
Benutzerbild von atothek
 
Registriert seit: Feb 2003
Ort: Berlin
Beiträge: 1.459
na du rufst den konstruktor doch gar nicht auf! wie soll so dann auch dein trace kommen.

guckste hier

PHP-Code:
mc=new MovieClip(); 
mc ist dann aber immer noch kein MovieClip sondern lediglich ein Object aus der MovieClip Klasse
__________________
TVNEXT Solutions
atothek ist offline   Mit Zitat antworten
Alt 24-06-2004, 09:02   #3 (permalink)
a.k.a maddin79
 
Benutzerbild von madflanderz
 
Registriert seit: Jul 2003
Ort: berlin f-hain
Beiträge: 1.693
die createMovieClip-methode erstellt doch nen neuen movieclip. wird dann nicht von ihr automatisch der konstruktor aufgerufen ??? anscheinend ja nicht. und wenn ich im zweiten schlüsselbild einen mc auf die bühne setze kommt auch kein "hallo".
madflanderz ist offline   Mit Zitat antworten
Alt 24-06-2004, 09:08   #4 (permalink)
a.k.a maddin79
 
Benutzerbild von madflanderz
 
Registriert seit: Jul 2003
Ort: berlin f-hain
Beiträge: 1.693
habs jeze mal so gamacht:

PHP-Code:

MovieClip
.prototype.createEmptyMovieClip2=MovieClip.prototype.createEmptyMovieClip
MovieClip
.prototype.createEmptyMovieClip=function(){ 
    var 
a=arguments 
    this
.createEmptyMovieClip2(a[0],a[1],a[2],a[3],a[4],a[5]) 
    
trace("hallo");
    
this.beginFill (0x0000FF50);
    
this.lineStyle (50xFF00FF100);
    
this.moveTo (200200);
    
this.lineTo (300300);
    
this.lineTo (100300);
    
this.lineTo (200200);
    
this.endFill();



_root.createEmptyMovieClip("meinMc"1); 
erfüllt ja eigentlich auch seinen zweck.
madflanderz ist offline   Mit Zitat antworten
Alt 24-06-2004, 09:15   #5 (permalink)
Flashaholic
 
Benutzerbild von atothek
 
Registriert seit: Feb 2003
Ort: Berlin
Beiträge: 1.459
ah jetzt macht das ganze auch sinn! du willst eine zeichen function ???
na da mußt du doch nicht die methode selbst überladen das geht doch viel einfacher

PHP-Code:
MovieClip.prototype.viereck=function(){
 
    
this.beginFill (0x0000FF50);
    
this.lineStyle (50xFF00FF100);
    
this.moveTo (200200);
    
this.lineTo (300300);
    
this.lineTo (100300);
    
this.lineTo (200200);
    
this.endFill();

}
this.mc.viereck(); 

und was ist das bitte

PHP-Code:
 MovieClip.prototype.createEmptyMovieClip2=MovieClip.prototype.createEmptyMovieClip 
...
var 
a=arguments
this
.createEmptyMovieClip2(a[0],a[1],a[2],a[3],a[4],a[5]) 


trenne die sachen immer und mach keine wollMilchSäue! eine function sollte immer nur das machen was sie aussagt zB. createEmptyMovieClip erzeugt wie der name vermuten läßt nur einen leeren Mc viereck erzeugt ein viereck etc. nur mal so als tipp
__________________
TVNEXT Solutions
atothek ist offline   Mit Zitat antworten
Alt 24-06-2004, 09:40   #6 (permalink)
a.k.a maddin79
 
Benutzerbild von madflanderz
 
Registriert seit: Jul 2003
Ort: berlin f-hain
Beiträge: 1.693
ja das habik auch schon alles verstanden, mich halt bloß mal wieder falsch ausgedrückt.

das dreieck mal ich nur so zum spaß um zu sehen ob was passiert.

aber mir gehts nicht darum ein dreieck oder sonstwas zu malen, sondern wie ich quasi OHNE einen extra-funktionsaufruf beim erzeugen/erstellen eines objektes irgendwelche aktionen durchführen kann.

zum besseren verständis einige beispiel:

1. jedes textfeld bekommt beim erstellen im konstruktor ein bestimmtes textformat zugewiesen. somit haben alle textfelder dasselbe format. durch änderung des formats( z.B. schriftgröße von 10 auf 12 px) in EINER EINZIGEN ZEILE haben ALLE textfelder im projekt das neue format.

2. jeder neu erstellte mc hat ein rotes viereck OHNE this.mc.viereck(); zuschreiben - jaja, is n total blödes beispiel aber du weißt bestimmt was ich meine
madflanderz ist offline   Mit Zitat antworten
Alt 24-06-2004, 09:45   #7 (permalink)
a.k.a maddin79
 
Benutzerbild von madflanderz
 
Registriert seit: Jul 2003
Ort: berlin f-hain
Beiträge: 1.693
Zitat:
Zitat von atothek

und was ist das bitte

PHP-Code:
 MovieClip.prototype.createEmptyMovieClip2=MovieClip.prototype.createEmptyMovieClip 
...
var 
a=arguments
this
.createEmptyMovieClip2(a[0],a[1],a[2],a[3],a[4],a[5]) 


t
na in der zeile
PHP-Code:
 MovieClip.prototype.createEmptyMovieClip2=MovieClip.prototype.createEmptyMovieClip 
wird die original Methode referenziert. danach wird die createEmptyMovieClip - methode überschrieben und neu definiert. sie ruft dann mit createEmptyMovieClip2 die originale Methode auf und fühft hinterher noch andere lustige sachen aus.

nun wird bei dem unveränderten aufruf:
_root.createEmptyMovieClip("meinMc", 1);
mehr getan als zuvor.
madflanderz ist offline   Mit Zitat antworten
Alt 24-06-2004, 10:02   #8 (permalink)
Flashaholic
 
Benutzerbild von atothek
 
Registriert seit: Feb 2003
Ort: Berlin
Beiträge: 1.459
na du bist lustig was du da machst ist mir schon klar aber das ist mit verlaub gesagt "dreckig" aus sagen wir mal eher "niedrigeren" beweggründen eine so mächtige methode wie createEmptyMovieClip zu überladen ist gelinde gesagt unsinn. da es den anschein nach nur darum geht ein viereck oder sonst eine art von shape zu erzeugen würde ich nicht die methode überschreiben sondern mir eher gedanken machen wie ich das besser lösen könnte zb.

PHP-Code:
 MovieClip.prototype.triangle=function(pFuellFarbepFuellAlphapLineFarbepLineDickepLineAlpha){

    
this.beginFill (pFuellFarbepFuellAlpha);
    
this.lineStyle (pLineDickepLineFarbepLineAlpha);
    
this.moveTo (200200);
    
this.lineTo (300300);
    
this.lineTo (100300);
    
this.lineTo (200200);
    
this.endFill();

}
_root.createEmptyMovieClip("mc"1); 
this.mc.triangle(0xff00001000x0000002100); 
als einfachstes beispiel! denk mal drüber nach (ach sorry falls ich mich im ton vergriffen hab, ist nich böse gemeint eher als ratschlag)
__________________
TVNEXT Solutions
atothek ist offline   Mit Zitat antworten
Alt 24-06-2004, 10:11   #9 (permalink)
a.k.a maddin79
 
Benutzerbild von madflanderz
 
Registriert seit: Jul 2003
Ort: berlin f-hain
Beiträge: 1.693
atothek - ich will dich ja nicht nerven, aber wir reden wohl n bischen aneinander vorbei. natürlich ist mir klipp und klar das es völliger unsinn ist nur für son blödes viereck im konstruktor rumzuwerkeln.

NOCHMAL GANZ KLAR : ich will einfach nur PRINZIPIELL WISSEN wie man sowas machen kann und NICHT vierecke zeichnen (irgendwas mußte ich ja machen)

naja wie das immer so is
madflanderz ist offline   Mit Zitat antworten
Alt 24-06-2004, 10:15   #10 (permalink)
Flashaholic
 
Benutzerbild von atothek
 
Registriert seit: Feb 2003
Ort: Berlin
Beiträge: 1.459
na dann ist doch alles in butter
__________________
TVNEXT Solutions
atothek ist offline   Mit Zitat antworten
Alt 24-06-2004, 10:21   #11 (permalink)
a.k.a maddin79
 
Benutzerbild von madflanderz
 
Registriert seit: Jul 2003
Ort: berlin f-hain
Beiträge: 1.693
genau,

vielleicht wollte ich mir auch nur mal wieder aus lange weile auf arbeit n problem aufstellen und andere wie dich damit nerven
madflanderz 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 20:38 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele