Zusätzliche Objektinfos

somnatic

Grünschnabel
Hallo miteinander .. dürfte mein erster Post in diesem Forum sein, daher 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 ?
 
probiert hätte ich es auf diese art:

ganz am anfang:
MovieClip.prototype.initialX = 0;


etwas später:
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;
this.initialX = x1;
this.initialY = y1;
}
};

nun sollte doch eigentlich bei dem MovieClip in der Variable initialX eine Zahl stehen ..

wenn ich sie jedoch mit this.initialX abfrage während ich in der Funktion MovieClip.prototype.close = function(speed, xMin, xMax, xCur)
bin bekomme ich immer 0
 
Hallo,

Also, ich habe das folgendermaßen gemacht:


-> Die beiden Variablen wurden nicht in dem Objekt, sondern auf der Hauptebene (_root) angelegt (Obwohl man das meinen sollte)... Lösung:

statt "with(_root.["line"+id]) { einfach das Objekt direkt ansprechen:

createThinLine = function (x1, y1, x2, y2, thickness, id) {
_root.createEmptyMovieClip("line"+id, id);
//with (_root["line"+id]) { <---gelöscht
eval("line"+id).lineStyle(thickness, 0x000000, Math.random()*100);
eval("line"+id).moveTo(0, 0);
eval("line"+id).lineTo(0, 400);
eval("line"+id)._x = x1;
eval("line"+id)._y = y1;
eval("line"+id).initialX = x1;
eval("line"+id).initialY = y1;
//} <-- gelöscht
};


Schon sitzen alle Variablen da, wo sie sitzen sollen, auch line2.initialX = 12 (bei einem Aufruf von createThinLine(12,12,320,200,1,2);.)

d.a.t.i.c.

P.S.: Warum das mit "with" nicht klappt, ist mir auch nicht ganz klar -- sollte eigentlich. Ich habe ein wenig rumprobiert (mit der Syntax), aber: nix da!
 
Zurück