| |||||||
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) |
| Neuer User Registriert seit: May 2004
Beiträge: 25
| Zusätzliche Variablen im Objekt
Hallo miteinander, bitte nicht schlagen Ich hoffe mir kann jemand helfen: Und zwar habe ich ein MovieClip Objekt, für das ich 2 prototypes geschrieben habe (eine vershcieb das objekt nach links, eine nach rechts - mit variabler geschwindigkeit usw.). nun bräuchte ich eine Möglichkeit beim erstellen eines neuen MovieClip Objektes den Wert zu speichern. Sprich - Ich möchte den _x Wert des Objektes dauerhaft IM Objekt selber speichern. Nochmals anders erklärt: * Das Objekt wird erzeugt und hat jetzt einen bestimmten _x Wert (dafür sorge ich ) * Nun soll dieser Wert in irgendeiner Variable gespeichert werden. * Nun wird das Objekt verschoben (_x verändert sich also) * Nun hätte ich das Objekt wieder gern an der ursprünglichen Stelle * Ich muss also _x wieder auf den Wert den ich (irgendwie) gespeichert habe, setzen. Weiss einer grad zufällig wie das geht ? |
| | |
| | #2 (permalink) |
| mod_rewrite Registriert seit: Feb 2003 Ort: München
Beiträge: 15.621
|
Wie erstellst du denn das Objekt? Prinzipiell kannst doch den ursprünglichen x-Wert einfach in einer Property des Objekts abspeichern, so in der Art ActionScript:
__________________ RTFM Wie man Fragen richtig stellt. Achim Bindannmalweg Money makes the world go round, fear makes it turn much faster. (New Model Army) |
| | |
| | #4 (permalink) |
| Neuer User Registriert seit: May 2004
Beiträge: 25
|
teil1: das erstellen einer linie (nueer movieclip) und dann zuweisen von _x meiner Variable initialX createThinLine = function (x1, y1, x2, y2, thickness, id) { _root.createEmptyMovieClip("line"+id, id); with (_root["line"+id]) { lineStyle(thickness, 0x000000, Math.random()*100); moveTo(0, 0); lineTo(0, 400); _x = x1; _y = y1; initialX = x1; initialY = y1; } }; Teil 2: Ausleseversuch: MovieClip.prototype.close = function(speed, xMin, xMax, xCur) { this.onEnterFrame = function() { trace(this._x + " -- " + this.initialX); ... ... ... }; }; beim trace bekomme ich für den ersten wert (this._x) das richtige (also die aktuelle position) aber für initialX bekomme ich immer undefined |
| | |
| | #5 (permalink) |
| mod_rewrite Registriert seit: Feb 2003 Ort: München
Beiträge: 15.621
|
Ja woher soll denn die MovieClip-Klasse jetzt plötzlich was von initialX wissen, welches du in irgendeiner Funktion definierst...?
__________________ RTFM Wie man Fragen richtig stellt. Achim Bindannmalweg Money makes the world go round, fear makes it turn much faster. (New Model Army) |
| | |
| | #6 (permalink) |
| Neuer User Registriert seit: May 2004
Beiträge: 25
|
naja .. ich bastel mir doch eine instanz eines movieclips (namens line1) dann kommt das "with line1" .. und da setze ich initialX später greife ich wieder auf das line1 zu, und da kennt ers nicht mehr .. oder hab ich da einen dnekfehler ? muss ich das irgendwie definieren dass es sowas gibt ? |
| | |
| | #7 (permalink) |
| mod_rewrite Registriert seit: Feb 2003 Ort: München
Beiträge: 15.621
|
Da seh ich in deinem Skript aber nix, dass du wieder auf line1 zugreifst... Was du mit deinem Skript in etwa veranstaltest: Du reißt ein Blatt Papier von einem Block ab und schreibst da was drauf. Dann hoffst du, dass das, was du auf das lose Blatt geschrieben hast, auf allen Blättern des Blocks lesbar sein soll... Soll heißen: deine MC-Instanz is völlig autonom, du kannst nicht "rückwärts" etwas auf die Klasse vererben. Weißt du eigentlich, was du mit prototype machst?
__________________ RTFM Wie man Fragen richtig stellt. Achim Bindannmalweg Money makes the world go round, fear makes it turn much faster. (New Model Army) |
| | |
| | #8 (permalink) |
| Neuer User Registriert seit: May 2004
Beiträge: 25
|
das mit dem rückwärts vererben dürfte wahr sein ... das prototype gibt einem bestehenden objekt ja eine neue methode hinzu .. sprich ich kann auf eine Instanz des MovieClip Objekts dann open bzw. close ausführen (habe da 2). wie kann ich actionscript oder flash sagen, dass das movieclip objekt auch eine Variable namens initialX haben soll ? HAst da vielleicht einen Beispiel Code ? Muss ich mir hierzu ein neues Objekt machen und dieses von MovieClip ableiten ? Kann das Flash überhaupt (bzw. actionscript) |
| | |
| | #9 (permalink) | |
| mod_rewrite Registriert seit: Feb 2003 Ort: München
Beiträge: 15.621
|
Nicht ganz... Object.prototype weist einer Klasse neue Methoden und Eigenschaften zu, nicht einem Objekt. Alles, was du in Sachen Positionierung, _x, _y etc. unternimmst, findet aber auf Instanzebene statt. D.h. die Klasse kann nix davon wissen, wo "ihre Kinder sich gerade rumtreiben"... Und zu deiner Frage Zitat:
__________________ RTFM Wie man Fragen richtig stellt. Achim Bindannmalweg Money makes the world go round, fear makes it turn much faster. (New Model Army) | |
| | |
| | #10 (permalink) |
| Neuer User Registriert seit: May 2004
Beiträge: 25
|
ah . .ich glaub wir reden aneinander vorbei ... ich will ja jeder einzelnen Instanz diese Variable initialX geben, damit ich weiss wo sich jede Instanz herumtreibt. sprich: in java / C# / C++ isses so, dass zuerst eine Klasse definiert wird (welche Variablen und Methoden es gibt) und dann die Instanzen instanziert werden. Diesen Mechanismus hätte ich eben gern in Actionscript - nur, dass: * Meine neue Klasse alles von MovieClip hat (also vererbung / inheritance) * ich eigentlich nur ein Zusätzliches Feld brauche (dieses initialX). Dieses Feld soll nun beim instantiieren initalisiert werden und soll dann immer gleich bleiben und nur ausgelesen werden. Kann ich das irgendwie machen ? |
| | |
| | #11 (permalink) |
| mod_rewrite Registriert seit: Feb 2003 Ort: München
Beiträge: 15.621
|
Sowas geht z.B.: ActionScript:
__________________ RTFM Wie man Fragen richtig stellt. Achim Bindannmalweg Money makes the world go round, fear makes it turn much faster. (New Model Army) |
| | |
| | #12 (permalink) |
| Neuer User Registriert seit: May 2004
Beiträge: 25
|
ich drücks nochmal etwas anders aus .. genauso wie ich meinem movieclip sage, dass jede isntanz ab sofort 2 zusätzliche methoden hat (open/close): MovieClip.protoype.open = function() ... würde ich flash gerne sagen, dass jeder movieclip ab sofort auch zusätzlich eine Variable kennen muss (namens initialX). Gibt es sowas wie: MovieClip.prototype.initalX = var () ? ich hätts bisher eben noch nirgends gesehen .. |
| | |
| | #14 (permalink) |
| mod_rewrite Registriert seit: Feb 2003 Ort: München
Beiträge: 15.621
|
Ohne with geht dein Code: ActionScript:
__________________ RTFM Wie man Fragen richtig stellt. Achim Bindannmalweg Money makes the world go round, fear makes it turn much faster. (New Model Army) |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |