Форум 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)
-   -   проблемы с функцией onRelease (http://www.flasher.ru/forum/showthread.php?t=85339)

Tinco 20.09.2006 16:03

проблемы с функцией onRelease
 
Подскажите как мне в данном случае на каждый созданный мной MovieClip повесить функцию onRelease?

То что описано неиже не работает :(

Код:

for (i=0; i<num_colors; i++) {
       
this.all_colors.createEmptyMovieClip("car_"+i, getNextHighestDepth()+i);
        this.all_colors.createEmptyMovieClip("car_mask_"+int(i+num_colors), getNextHighestDepth()+i+num_colors);

        loadMovie(url+"accord4d.png", "all_colors.car_"+i);
        loadMovie(url+"accord4d1.png", "all_colors.car_mask_"+int(i+num_colors));

        eval("all_colors.car_"+i).onRelease = function () {
       
myColor = new Color(sc.car_mask);
              myColorTransform = new Object();
              myColor.setTransform(CarColors[i]);
        }
}


Alex T 20.09.2006 16:16

у тебя кнопки не инициализируются или не срабатывает скрипт по событию?
не совсем понял код (что такое sc.car_mask), но может так:

Код:

for (i=0; i<num_colors; i++) {

    this.all_colors.createEmptyMovieClip("car_"+i, getNextHighestDepth()+i);
    this.all_colors.createEmptyMovieClip("car_mask_"+i nt(i+num_colors),getNextHighestDepth()+i+num_colors);

    loadMovie(url+"accord4d.png", "all_colors.car_"+i);
    loadMovie(url+"accord4d1.png", "all_colors.car_mask_"+int(i+num_colors));
    this["all_colors.car_"+i].id=i;
    this["all_colors.car_"+i].onRelease = function () {

        myColor = new Color(sc.car_mask);
        myColorTransform = new Object();
        myColor.setTransform(CarColors[this.id]);
    }
}


Leezard 20.09.2006 16:50

Зачем такие извраты, нельзя сделать просто
Код:

this.all_colors["car_"+i].onRelease = function (){}
Проблем быть не должно.
И еще немного непонятны прибавления к getNextHighestDepth(). В чем смысл?

Tinco 20.09.2006 16:50

Не инициализируются кнопки

то что в нутри функции onRelease не важно...
Этот вариант тоже не проходит :(

Tinco 20.09.2006 16:58

Цитата:

Сообщение от Leezard
Зачем такие извраты, нельзя сделать просто
Код:

this.all_colors["car_"+i].onRelease = function (){}
Проблем быть не должно.



всеравно не хотит срабатывать.. :(

Цитата:

Сообщение от Leezard
И еще немного непонятны прибавления к getNextHighestDepth(). В чем смысл?

Я и сам не пойму почему выдает постоянно одно и тоже значение...

Alex T 20.09.2006 16:59

Leezard: да так лучше
Tinco: проверь внимательно пути (может в именах где-нибудь пробел есть или еще что-нибудь)

Tinco 20.09.2006 17:04

с путями все нормально...

при пошаговой проверке обнаружил что все задается, но после отработки кода сразу же исчезает. С чем это может быть связано?

Leezard 20.09.2006 17:24

Цитата:

при пошаговой проверке обнаружил что все задается, но после отработки кода сразу же исчезает. С чем это может быть связано?
1. Умирают носители onRelease;
2. Кто то задает onRelease в другом месте;
3. Кто то убивает onRelease в другом месте;

Совет: повесь внутрь onRelease что-то простое, понятное и видимое невооруженным глазом.
И еще обрати внимние что внутри функции onRelease все адреса привязаны к мувику-носителю, то есть
если есть функция tempFunc() в руте, при желании ее вызвать надо указывать абсолютный или относительный путь, то есть:

Код:

_root.all_colors["car_"+i].onRelease = function (){
 tempFunc() ;
}

Не отработается.
Код:

_root.all_colors["car_"+i].onRelease = function (){
 _root.tempFunc() ;
}

а вот это сработает.

iNils 20.09.2006 17:52

Tinco, прочитайте пункт 3 (остальные пункты тоже почитайте для общего развития) правил подраздела http://www.flasher.ru/forum/showthread.php?t=79864 и приведите ваш текст в первом посте в надлежащий вид.


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

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