| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| o_0 Registriert seit: Apr 2005 Ort: zuhause
Beiträge: 79
| Ein Problem mit Klasse
Die Aufgabe, die ich mir gestellt habe: eine Klasse zu machen, die Matrizen definiert, und diese durch eine Funktion miteinander multiplizieren kann. da das mein erster Versuch mit Klassen überhaupt ist, funktioniert natürlich gar nichts. code in der fla: ActionScript:
code in der Datei "matrix.as": ActionScript:
|
| | |
| | #2 (permalink) |
| Freizeitflasher Registriert seit: Jun 2004 Ort: Niederösterreich
Beiträge: 615
| ActionScript:
klammern müssen sein, da der Konstruktor aufgerufen werden muss!
__________________ Some Flash Worx |
| | |
| | #3 (permalink) |
| ... Registriert seit: Nov 2001
Beiträge: 1.227
|
und muss das nicht heissen: trace(m1.MMply(m1,m2)); oder trace(m2.MMply(m1,m2)); ? Die Methode MMply kenn doch nur eine Instanz des Objekts matrix (also m1 oder m2) ..... MfG flash bier
__________________ Schweig oder sprich Worte, die besser sind als Schweigen ! |
| | |
| | #4 (permalink) | |
| o_0 Registriert seit: Apr 2005 Ort: zuhause
Beiträge: 79
|
aber von der funktionsweise her müsste eigentlich alles klappen, bis auf solche speziellen Fehler wie ihr sie genannt habt? ich meine, stimmen das variablen-handling und die methode, mit der die matrizen multipl. werden? stimmt die zuweisung der werte für die Matrix in der .fla so? ActionScript:
Zitat:
ergebnisse: ausgabe bei trace(m1.MMply(m1,m2)) oder trace(m2.MMply(m1,m2)): "[object Object]" bei trace(MMply(m1,m2)): undefined hmmm...zumindest ein kleiner Fortschritt. vielleicht. Geändert von DoTheSinWave (26-07-2005 um 20:35 Uhr) | |
| | |
| | #5 (permalink) | |
| Freizeitflasher Registriert seit: Jun 2004 Ort: Niederösterreich
Beiträge: 615
| Zitat:
aber da diese methode nix mit der instanz zu tun hat, kannst du sie statisch machen... dh der aufruf direkt über den klassen-prototype: ActionScript:
deklaration so: ActionScript:
__________________ Some Flash Worx | |
| | |
| | #7 (permalink) |
| Freizeitflasher Registriert seit: Jun 2004 Ort: Niederösterreich
Beiträge: 615
|
die zuweisung stimmt so... du kannst deiner matrix-klasse auch eine toString methode geben, um die werte anzuzeigen ActionScript:
die art wie du matrizen multiplizierst müsste auf den ersten blick stimmen. mein 4x4 Matrix-Mply algo für die 3D Engine sieht so aus: ActionScript:
mfg
__________________ Some Flash Worx |
| | |
| | #8 (permalink) | |
| Freizeitflasher Registriert seit: Jun 2004 Ort: Niederösterreich
Beiträge: 615
| Zitat:
statische funktionen können auf keine variablen zugreifen die in einer instanz deklariert werden... also alle vars die du ein er function benutzt (hor, vert, i, multi, m1, m2) müssen in der funktion deklariert werden, oder auch statisch (dann bleiben die werte erhalten!) oder als parameter übergeben werden. dh. so müsste es gehn: (alle vars in der function deklariert) ActionScript:
da fällt mir auf, du hast multi gar nicht gesetzt, wenn du darauf zugreifen willst... also: [as]multi = new Array();[as] die deklarationen dieser vars in der klasse kannst du weg lassen!
__________________ Some Flash Worx | |
| | |
| | #9 (permalink) |
| o_0 Registriert seit: Apr 2005 Ort: zuhause
Beiträge: 79
|
so schaut jetzt die fla aus: ActionScript:
ActionScript:
trotzdem ergibt trace(toString()) "[object Object]" ich habs mal hochgeladen:hier edit: du warst schneller... ich schau gleich nach Geändert von DoTheSinWave (26-07-2005 um 21:02 Uhr) |
| | |
| | #11 (permalink) |
| Freizeitflasher Registriert seit: Jun 2004 Ort: Niederösterreich
Beiträge: 615
|
toString() is eine methode der klasse! also instanz angeben! trace(m1.toString()); aber da trace ja einen string verlangt, kannst du das toString weglassen (ist schon in der seehr tiefen Object class angegeben) also nur trace(m1); müsste auch den text aus der toString methode ausgeben
__________________ Some Flash Worx |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |