Форум 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)
-   -   не работают функции в MC.onLoad = funtion () {} (http://www.flasher.ru/forum/showthread.php?t=145322)

Avrilka 04.10.2010 23:48

не работают функции в MC.onLoad = funtion () {}
 
код
Код AS1/AS2:

var sa:MovieClip = target.attachMovie ('eff_pic', 'eff_' + n, k);
        target.effARR.push(sa._name)
        sa.onLoad = function() {
                var ATR:Array = [];
                trace ('a')
        }
        sa._x = (target.effARR.length-1)*40;

нифига не трейсит. что это такое и как этим бороться?? :rolleyes:

udaaff 05.10.2010 00:05

Зачем вам этот обработчик (onLoad) здесь?

Avrilka 05.10.2010 00:21

создается объект. в него записываются данные о нем. там атака, защита к примеру ...

Код AS1/AS2:

sa.onLoad = function() {
var ATR:Array = [];
trace ('тут')
}

объект существует!

rainbowrussia 05.10.2010 08:24

Цитата:

Сообщение от Avrilka (Сообщение 940822)
объект существует!

Объект существует сразу после attachMovie, сразу инициализируйте все что нужно.
Если принципиально нужно не сразу инициализировать - можно использовать setTimeout.

Avrilka 06.10.2010 10:00

Код AS1/AS2:

sa.onLoad = function() {

разве это не явлется эвентом, когда объект инициализируется?

mooncar 06.10.2010 10:31

Цитата:

Сообщение от rainbowrussia (Сообщение 940868)
Объект существует сразу после attachMovie, сразу

Тоже так думал. Выяснилось, что не всегда. Пришлось как-то как раз использовать setTimeout.

Avrilka 06.10.2010 10:44

Код AS1/AS2:

function add_eff(caster:MovieClip, target:MovieClip, skill:String){
        n = target.effARR.length;
        k =target.getNextHighestDepth();
        var sa:MovieClip = target.attachMovie ('eff_pic', 'eff_' + n, k);
        target.effARR.push(sa._name)
        sa.onLoad = function() {
                var ATR:Array = [];
                trace ('a')
        }
        sa._x = (target.effARR.length-1)*40;
        target['eff_' + n].gotoAndStop(2);
}

добавление "бафа" в панель бафов. После того как он добавился надо в нем описать переменную " var ATR:Array ". Как это сделать в пределах функции " add_eff "

Добавлено через 23 часа 38 минут
Код AS1/AS2:

function init(target2:MovieClip){
        target2.ATR=[]
        copyATR(target2.ATR);
        trace (target2.ATR['ATTACK_MAX'])
        trace (target2.ATR.length);
        }
setTimeout(init,100,sa)

trace (sa.ATR['ATTACK_MAX'])
трейсит
Код:

1100 - значит что массив обозначился //copyATR(target2.ATR) - функция которая заполянет массив 
0 - странно массив описан, должно быть 135 где-то
undefined - естесьтвенно

Как обратиться к переменной ATR в sa после того как она определяется


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

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