Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Определение параметров клипа в цикле (http://www.flasher.ru/forum/showthread.php?t=131554)

filepark 23.10.2009 11:16

Определение параметров клипа в цикле
 
Имеем клип butt0 при нажатии происходит некое событие:
Код AS1/AS2:

butt0.onPress = function() {
        trace("0");
};

Но, если имеем множество клипов, как задать им свойства через цикл? Первое что приходит в голову:
Код AS1/AS2:

for (i=0; i<20; i++) {
        _root["butt"+i].onPress = function() {
                trace(targetPath(this).substr(12));
        };
}

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

lexa2000lexa 23.10.2009 11:21

Код AS1/AS2:

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

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

Код AS1/AS2:

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)
}
}



Часовой пояс GMT +4, время: 08:46.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.