![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Mar 2013
Сообщений: 290
|
Создаю код для таймера внутри мувиклипа с именем экземпляра stamina1_mc.
Фрагмент выглядит так: var _root = MovieClip(root); var counter_f:int = _root.f; //читаем значение внешней переменной var Flowtimer:Timer = new Timer(1000, counter_f); //1-second timer init Flowtimer.addEventListener(TimerEvent.TIMER, flowbar); //задаем функцию события Flowtimer.start(); //запускаем таймер function flowbar(e:TimerEvent):void { // здесь код функции } TypeError: Error #1009: Cannot access a property or method of a null object reference. at Progressbar_fla::stamina_mc_6/flowbar() at flash.utils::Timer/flash.utils:Timer::_timerDispatch() at flash.utils::Timer/flash.utils:Timer::tick() Что делать, как разрулить проблему? |
|
|||||
|
Регистрация: Mar 2013
Сообщений: 290
|
Да, действительно!
Я, в прошлом примере, для простоты кода опустил еще вот такие строки: var j:uint = 0; var ind2:MovieClip = parent.getChildByName("indicator2_dtx") as MovieClip; var ind3:MovieClip = parent.getChildByName("indicator3_dtx") as MovieClip; //... здесь идет код указанный в прошлый раз, а вот функция: function flowbar(e:TimerEvent):void { if (counter_f <= 100) { // ind2.text = String(counter_k) + "%"; //ВЫЗЫВАЕТ ОШИБКУ // ind3.text = String(j) + "%"; //ВЫЗЫВАЕТ ОШИБКУ this.gotoAndStop(counter_k + j); j++; trace("j++ ", j); trace("counter_f ", counter_f); } else { counter_k = 100; this.gotoAndStop(counter_k); // ind2.text = String(counter_k) + "%"; //ВЫЗЫВАЕТ ОШИБКУ trace("Limit!"); } } Хотя, я вообще не очень догоняю эту технику обращения к внешим объектам через такой слишком закрученный getChildbyName метод... Должно же быть что-то проще (ладно об этом наверное лучше в отдельном посте спросить). Причем, нет бы написать что проблема в этих полях, но идет указание на параметры таймера, который оказывается вообще не причем. Добавлено через 28 минут Блин, я все понял. Это же переменные типа TextField, а не MovieClip... Ой дурак. Исправил, теперь эти строки не глючат. Hauts, спасибо за помощь. |
![]() |
![]() |
Часовой пояс GMT +4, время: 00:28. |
|
|
« Предыдущая тема | Следующая тема » |
|
|