PDA

Просмотр полной версии : Определение параметров клипа в цикле


filepark
23.10.2009, 11:16
Имеем клип butt0 при нажатии происходит некое событие:
butt0.onPress = function() {
trace("0");
};

Но, если имеем множество клипов, как задать им свойства через цикл? Первое что приходит в голову:
for (i=0; i<20; i++) {
_root["butt"+i].onPress = function() {
trace(targetPath(this).substr(12));
};
}

Конечно работает, но думается мне есть более техничное решение. Какое?

lexa2000lexa
23.10.2009, 11:21
for (i=0; i<20; i++) {
_root["butt"+i].id = i;
_root["butt"+i].onPress = function() {
trace(this.id);
};
}

TihelpER
23.10.2009, 13:11
Удобнее записывать ссылки на клипы в массив при их создании. А потом, при необходимости, уже пробегать по массиву и вытаскивать их от туда.


var mcArray:Array = new Array()
for (var i:Number = 0; i < 20; i++) {
var mc:MovieClip = this.createEmptyMovieClip("mc_" + i, this.getNextHighestDepth())
mc.id = i
mcArray[i] = mc
}

for (var i:Number = 0; i < mcArray.length; i++) {
var mc:MovieClip = mcArray[i]
mc.onPress = function() {
trace(this.id)
}
}