Buttonroblem: Funktion 2x auf Bühne

Hallo,

ich bin für konstruktive Kritik immer offen...
Ich habe da ein Bild, das ich als Button nehm, also lade ich vorher das Bild in ein Label und setze darauf dann meine onPress- Funktion...

Gruß
 
Ok - aber warum dann üerhaupt ein Label? :confused:

Aus dem Stehgreif vermute ich den Fehler dort: In einer mitgelieferten Komponente einfach einen MC zu erstellen halte ich gelinde gesagt für riskant (woher weißt Du was da sonst noch so rumschwirrt und Dir vielleicht ins Gehege kommt?).

Gruß
.
 
So nun gut, aber ich muss das Bild das ich als Button benutze doch irgendwo rein laden mit meinem loadMovie- wie geht das dann?

Gruß
 
PHP:
var foo = _root.createEmptyMovieClip("foo", 1000);
var img = foo.createEmptyMovieClip("img", 1);
img.loadMovie("foobar.jpg");
foo.onRelease = function() {
    trace("geklickt!");
}
Funktioniert. Du musst nur darauf achten, dass Du den Mouse-Handler nicht auf den MC legst, in den per loadMovie geladen wird, denn loadMovie überschreibt den Zielclip.


Gruß
.
 
Hallo,

so jetzt hab ich den Button mal so gemacht, tut immer noch hervorragend. Ich hab immer noch ein undefined, aber ohne Funktionen- ads bedeutet wohl dass es woanders herkommt... Schön und gut.
In dem Zusammenhang hab ich noch eine Frage. Und zwar löscht dieser Button dann einige Elemente von der Bühne, darunter MCs, die ich dynamisch genreriere. Jetzt bekomm ich die nicht mehr von der Bühne... Ich hab schon einiges probiert, aber die bleiben trotzdem stehen.

Gemacht werden sie so:
PHP:
for(UkapNode = kapNode.firstChild; UkapNode != null; UkapNode = UkapNode.nextSibling){
	myKapitel = UkapNode.attributes.label;
	ebene = 8004 + i;
	var mc = _root.attachMovie("indexPage", "kapitel" + i, ebene);
	_root["kapitel"+ i]["indexPageText"].autoSize = "left";
	_root["kapitel"+ i]["indexPageText"].text = myKapitel;
	_root["kapitel"+ i]._x = 14;
	_root["kapitel"+ i]._y = newKapitelYPos + abstand;
								
	hoehe = _root["kapitel"+ i]["indexPageText"]._height; 
	abstand += hoehe;
								
	i++;
	mc.i=i;
	mc.onPress = function(){
	}//end function
								
}//end for

Hast du noch einen Tipp? Ich habs schon so probiert in der Funktion von meinem Button funktioniert das aber nicht:

PHP:
for (var i in _root) {
    if (typeof(_root[i]) == "movieclip" && _root[i].getDepth() <= 8030 && _root[i].getDepth() >= 8004) {
	_root[i].removeMovieClip();
	}
}
 
Hast Du Dir mal i mit trace ausgeben lassen? Ich sehe nirgendwo, dass diese Variable deklariert wird; sie könnte durchaus "undefined" sein.

Gruß
.
 
Ok,

was gibt "ebene" per trace aus?

Was gibt trace(mc.getDepth()); direkt nach dem attachMovie aus?

Gibt das tracen aller anderen Variablen das aus, was Du erwartest?

Müssten diese beiden Zeilen:
PHP:
i++;
mc.i=i;
nicht vertauscht sein?

Gruß
.
 
Zurück