Форум 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=111379)

rispekt 24.04.2008 02:06

Как задать события для муви клипов в цикле?
 
У меня на сцене много (скажем 100) клипов.
Называются p1 , p2 , p3 .... p100;
И есть список сообщений t1 = 'message1' , t2 = 'message2' ... t100;

Есть функция, которая выводит сообщение при наведении на клип, и другая, которая убирает его при RollOut.

Пишу так:
Код:

//Забиваю в массивы клипы и сообщения
p_ar = new Array();
t_ar = new Array();
for (i=1;i<101;i++) {
        p_ar[i]=this['p'+i];
        t_ar[i]=this['t'+i];
}
//Каждому клипу свой ролловер
for (i=1;i<21;i++) {
        p_ar[i].onRollOver = function() {
        this.transform.colorTransform  new ColorTransform(0,0,0,0,226,38,29,255); //закрашиваем
        funcs.ShowTitle(t_ar[i]); //выводим сообщение
        }
        p_ar[i].onRollOut = function() {
        p_ar[i].transform.colorTransform = new ColorTransform(); //убираем закрашивание
        funcs.HideTitle(); //убираем сообщение
}

Обьясните , пожалуйста, почему это не срабатывает.

Причем если написать

Код:

p1.onRollOver = function() {
this.transform.colorTransform = new ColorTransform(0,0,0,0,226,38,29,255);
funcs.ShowTitle(t1)}
p1.onRollOut = function() {
p1.transform.colorTransform = new ColorTransform();
funcs.HideTitle();
}

, все отлично срабатывает.

Vertax 24.04.2008 02:36

Код:

//Не нужно
/*p_ar = new Array();
t_ar = new Array();
for (i=1;i<101;i++) {
        p_ar[i]=this['p'+i];
        t_ar[i]=this['t'+i];
}*/

//Каждому клипу свой ролловер
for (i=1;i<21;i++) {
        mc = eval("p" + i);
        mc.Message = eval("t" + i);

        mc.onRollOver = function() {
        this.transform.colorTransform = new ColorTransform(0,0,0,0,226,38,29,255); //закрашиваем
        funcs.ShowTitle(this.Message); //выводим сообщение
        }
        mc.onRollOut = function() {
        this.transform.colorTransform = new ColorTransform(); //убираем закрашивание
        funcs.HideTitle(); //убираем сообщение
    }
}


rispekt 24.04.2008 03:26

Спасибо, работает!


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

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