button function

magic-stefan

Grünschnabel
Hi,
ich habe externe Bilder in einen mc geladen und möchte nun bei Klick auf das jeweilige Bild dieses vergrößert darstellen. Das funktioniert soweit auch prima solange ich jedem button eine einzelne function schreibe.
Jetzt habe ich aber 12 Bilder (d.h. auch 12 button) , also habe ich folgendes script geschrieben:

Code:
function duplicate(from, target) {
	var visuals = new flash.display.BitmapData(mcx._width, mcx._height);
	visuals.draw(from);
	target.attachBitmap(visuals, 1);
}
for (var i = 1; i<=12; i++) {
	_level0["btn"+i].onRelease = function() {
		duplicate(_level0["mc"+i], mcx);
	}
}

leider funktioniert das so nicht, es scheint als ob _level0["mc"+i] nicht gefunden wird...
Falls jemand weiß warum, wäre ich für eine Antwort sehr dankbar.
 
Zuletzt bearbeitet:
Hi,

Code:
for (var i = 1; i<=12; i++) {
	_level0["btn"+i].onRelease = function() {
		duplicate(_level0["mc"+i], mcx);
	}
}
Du kannst die Variable "i" in der onRelease-Funktion nicht verwenden, da die Schleife zum Zeitpunkt des Klicks schon längst passee (sprich: aus und vorbei) ist. In "i" steht dann bestenfalls der letzte Wert (12).

Probiers so:
Code:
for (var i = 1; i<=12; i++) {
	_level0["btn"+i].idx = i; // i für jeden Button merken!
	_level0["btn"+i].onRelease = function() {
		duplicate(_level0["mc" + this.idx], mcx); // und hier verwenden
	}
}

Gruß
.
 
Zurück