Willkommen auf dem Portal für Mediengestalter
|
|
Autor |
Nachricht |
l'Audiophile
Threadersteller
Dabei seit: 16.09.2004
Ort: Berlin
Alter: 43
Geschlecht:
|
Verfasst So 22.05.2005 16:54
Titel [Flash --> OOP] Klassenproblem |
|
|
Servus zusammen
Ich habe mir folgende kleine Klasse geschrieben „DrawRectangle.as“:
Code: |
class DrawRectangle {
//
var objname:MovieClip;
var bordername:MovieClip;
var level:Number;
var begin_x:Number;
var begin_y:Number;
var objwidth:Number;
var objheight:Number;
var borderwidth:Number;
var objcolor:Color;
var bordercolor:Color;
var objtransparency:Number;
var bordertransparency:Number;
//
function rectangle() {
_root.createEmptyMovieClip(objname, level);
_root.createEmptyMovieClip(bordername, level+1);
with (_root.objname) {
beginFill(objcolor, objtransparency);
moveTo(begin_x, begin_y);
lineTo(begin_x+objwidth, begin_y);
lineTo(begin_x+objwidth, begin_y+objheight);
lineTo(begin_x, begin_y+objheight);
lineTo(begin_x, begin_y);
endFill;
}
with (_root.bordername) {
lineStyle(borderwidth, bordercolor, bordertransparency);
moveTo(begin_x, begin_y);
lineTo(begin_x+objwidth, begin_y);
lineTo(begin_x+objwidth, begin_y+objheight);
lineTo(begin_x, begin_y+objheight);
lineTo(begin_x, begin_y);
}
}
//
function DrawRectangle(newobjname:MovieClip, newbordername:MovieClip, newlevel:Number, newbegin_x:Number, newbegin_y:Number, newobjwidth:Number, newobjheight:Number, newborderwidth:Number, newobjcolor:Color, newbordercolor:Color, newobjtransparency:Number, newbordertransparency:Number) {
objname = newobjname;
bordername = newbordername;
level = newlevel;
begin_x = newbegin_x;
begin_y = newbegin_y;
objwidth = newobjwidth;
objheight = newobjheight;
borderwidth = newborderwidth;
objcolor = newobjcolor;
bordercolor = newbordercolor;
objtransparency = newobjtransparency;
bordertransparency = newbordertransparency;
}
}
|
Mein Klassenaufruf sieht wie folgt aus:
Code: | var zeichnen:DrawRectangle = new DrawRectangle("testobject", "testborder", 1, 50, 50, 120, 80, 1, 84A92C, 000000, 60, 60); |
Leider will das Ganze nicht funktionieren. Ich bekomme immer folgende Fehlermeldung, kann sie mir aber nicht erklären.
Zitat: | **Fehler** Szene=Szene 1, Ebene=Ebene 1, Bild=1:Zeile 1: ')' oder ',' erwartet
var zeichnen:DrawRectangle = new DrawRectangle("testobject", "testborder", 1, 50, 50, 120, 80, 1, 0x84A92C, 0x000000, 60, 60);
Anzahl der ActionScript-Fehler: 1 Gemeldete Fehler: 1 |
Vielleicht kann mir ja jemand helfen. Bin schon fast am verzweifeln wegen der Kleinigkeit. Danke.
Gruß PeJot
Edit:
Ups, hab gerade gesehen, dass ich die Color-Klasse verwendet habe. Habs mal abgeändert, allerding gibt er mir jetzt als Fehlermeldung ne Typdiskrepanz aus.
Zuletzt bearbeitet von l'Audiophile am So 22.05.2005 17:22, insgesamt 1-mal bearbeitet
|
|
|
|
|
tuxedo
Dabei seit: 10.10.2002
Ort: ~/
Alter: 51
Geschlecht: -
|
Verfasst So 22.05.2005 17:31
Titel
|
|
|
urghs, as2....
naja, wie dem auch sei...
du definierst die variablen als movieclips, dabei "enstehen" durch deine strings
erst via createEmptyMovieclip() mcs. ich denke, da könnte der fehler liegen,
da der objekttyp nicht stimmt....
allerdings hab ich mich mit as2 noch nicht wirklich beschäftigt....
|
|
|
|
|
Anzeige
|
|
|
l'Audiophile
Threadersteller
Dabei seit: 16.09.2004
Ort: Berlin
Alter: 43
Geschlecht:
|
Verfasst So 22.05.2005 17:38
Titel
|
|
|
Autsch, stimmt ja; sind ja noch gar keine fertigen Movieclips.
Gut, zumindestens ist jetzt mal die Fehlermeldung weg. Jetzt kann ich wenigstens meiner Lieblingsbeschäftigung nachgehen und den Fehler „austracen“ .
Danke
Gruß PeJot
|
|
|
|
|
tuxedo
Dabei seit: 10.10.2002
Ort: ~/
Alter: 51
Geschlecht: -
|
Verfasst So 22.05.2005 18:06
Titel
|
|
|
ausserdem frage ich mich gerade...
du definierst eine klasse mit dem titel DrawRectangle, legts allerdings
eine gleichnamige funktion ausserhalb der klasse an. wenn ich mich recht
erinnere, kanndas net funzen
|
|
|
|
|
l'Audiophile
Threadersteller
Dabei seit: 16.09.2004
Ort: Berlin
Alter: 43
Geschlecht:
|
Verfasst Mo 23.05.2005 14:45
Titel
|
|
|
tuxedo hat geschrieben: | ausserdem frage ich mich gerade...
du definierst eine klasse mit dem titel DrawRectangle, legts allerdings
eine gleichnamige funktion ausserhalb der klasse an. wenn ich mich recht
erinnere, kanndas net funzen
|
Das ist eine sog. Konstruktorfunktion, die sich innerhalb meiner Klassendatei befindet. Diese muss wie der Klassenname heißen, ansonsten erstellt der Kompiler selbst eine leere Konstruktorfunktion. (Schreibt zumindestens die Referenz)
Gruß PeJot
|
|
|
|
|
|
|
|
Ähnliche Themen |
[Flash,Swish] von Flash aus eine bestimmte Scene,Frame Laden
Flash verlinken, aber kein flash mehr drauf
Flash-Animationen OHNE Macromedia Flash-Player abspielen
reine Flash-Seite oder lieber nur mit Flash-Elementen
Flash: Welcher Skill-Level für folgende Flash-Datei...
Gewinnspiel zum Flash Buch - Flash fast forward
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|