Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Прибавление номера к клипу (http://www.flasher.ru/forum/showthread.php?t=146783)

Toxedo 18.11.2010 01:23

Прибавление номера к клипу
 
Код AS3:

var OL
 
for(var i:uint=2; i< 4; i++){
OL = ["_btn" + i]
trace(OL)
OL.x = 122*i
}

На сцене лежат много мувиков, я хочу присвоить им листенеры или другие свойства через цикл.
_btn2,_btn3,_btn4.... и т.д

Можно ли правильно реализовать этот код не прибегая к массивам??

Добавлено через 11 минут
Код AS3:

for(var i:uint=2; i< 4; i++){
 
var name1:String = '_btn';
var m:MovieClip = getChildByName(name1+i) as MovieClip;
m._btn.addEventListener(MouseEvent.ROLL_OVER, _bno)
}


Всё, нашел выход =)

FriOne 18.11.2010 01:35

Если мувики лежат в одном контейнере,
можно использовать в цикле getChildAt().

Toxedo 18.11.2010 01:50

Другая проблема возникла((
Код AS3:

for(var i:uint=1; i< 4; i++){
 
var name1:String = '_btn';
var m:MovieClip = getChildByName(name1+i) as MovieClip;
m.i = i
m._btn.addEventListener(MouseEvent.ROLL_OVER, _bno)
trace(m.i)
}
 
function _bno(e){
trace(e.target.i)}

Трейс в цикле воспроизводит 1,2,3 а при наведение на клипы на сцене пишет undefined

Почему??

bav 18.11.2010 02:52

Потому что e.target в данном случае m._btn, а не m. И оформляйте хоть как-нибудь функции.
Код AS3:

function _bno(e:MouseEvent):void {
  trace((e.target.parent as MovieClip).i);
}


Toxedo 18.11.2010 03:43

bav, спасибо =)) что то я перент проморгал))


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

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