Kein Zugriff auf mit createEmptyMovieclip erstelle MCs?

Jens B.

Erfahrenes Mitglied
He,
ich habe ein Programm geschrieben, wo Linien wie folgt gezeichnet werden:

Code:
_root.onEnterFrame = function() {
	if (linien<10) {
		neuX = _xmouse;
		neuY = _ymouse;
		_root.createEmptyMovieClip("linie"+linien, linien);
		meineLinie = eval("linie"+linien);
		meineLinie.lineStyle(2, 0x0033FF, 100);
		meineLinie.moveTo(neuX, neuY);
		meineLinie.lineTo(_xmouse, _ymouse);
		linien++;
	} else {
		delete (_root.onEnterFrame);
	}
};

Das funktioniert auch wunderbar. Wenn ich nun aber so:

Code:
for(i = 0; i < 10; i++) {
delete(_root["linie"+i]);
}

Die Linien löschen will, passiert nichts. Wo liegt mein Fehler?

Liebe Grüße
.
 
... MovieClips werden mit removeMovieClip und nicht mit delete entfernt.

Übrigens: eval ist in diesem Kontext eigentlich veraltet - eleganter sind die Array-Zugriffsoperatoren:
Code:
meineLinie = _root["linie"+linien];
noch eleganter wäre es in Deinem Fall, direkt die Rückgabe der createEmptyMovieClip-Methode zu verwenden:
Code:
var meineLinie = _root.createEmptyMovieClip("linie"+linien, linien);

Gruß
.
 
Danke, das war dumm von mir. Aber wieso funktioniert dann auch nicht

Code:
_root["linie" + linien].hitTest(45, 12)


Das mit den Array Zugriffsoperatoren ist mir bekannt, trotzdem mag ich eval hammer gern. :) Und benutz gefälligst actionscript-Tags, Herr M.!

/Edit: ok, es geht. Ich hatte an einer Stelle den "linien"-Counter mit dem for-Schleifen counter "i" verwechselt.
...


Grüße,
Ba.
 
Zuletzt bearbeitet:
Und benutz gefälligst actionscript-Tags, Herr M.!
Die benutze ich eigentlich nur, wenn ich will, dass der "Kunde" den Code nicht einfach per Copy&Paste in sein Projekt einfügt, sondern sich zumindest die Mühe macht, ihn abzutippen (das geht nämlich bei den neuen Code-Tags nicht wirklich gut ;)).

Für kurze Blöcke nehme ich gerne die CODE-Tags (die sich auch schneller tippen lassen, als ACTIONSCRIPT).

Gruß
.
 
Zurück