Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 21.03.2011, 02:13
kaetano вне форума Посмотреть профиль Отправить личное сообщение для kaetano Найти все сообщения от kaetano
  № 1  
Ответить с цитированием
kaetano
 
Аватар для kaetano

Регистрация: May 2009
Сообщений: 134
По умолчанию обращение к объекту, расположенному не в 1 кадре

Здравствуйте.
вдруг зависла вот на таком.

есть шкала, на ней то появляется то исчезает объект mapRussia.
есть слой label - с метками, и если они совпадают с кадром где появляется мой объект - то компилятор выдает ошибку - не видит объект.
Код:
TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null".
если ставить метку на кадр позже - то все нормально.
вот так:
[IMG]http://i041.***********/1103/a6/6efcf4a93bbb.jpg[/IMG]

вот обращение к объекту из класса:
Код AS3:
public function MapScene(){			
	addEventListener(Event.ENTER_FRAME, onMyEnterFrame);
}
 
private function onMyEnterFrame(event:Event):void{				
	var target_mc:MovieClip = event.target as MovieClip;
	if (target_mc.currentLabel == "blur") {	
		this.mapRussia.gotoAndStop("all");
	}
}

Старый 21.03.2011, 20:34
Александр Мостовой вне форума Посмотреть профиль Отправить личное сообщение для Александр Мостовой Посетить домашнюю страницу Александр Мостовой Найти все сообщения от Александр Мостовой
  № 2  
Ответить с цитированием
Александр Мостовой
 
Аватар для Александр Мостовой

Регистрация: Sep 2001
Адрес: Харьков
Сообщений: 305
Отправить сообщение для Александр Мостовой с помощью ICQ Отправить сообщение для Александр Мостовой с помощью Skype™
не совсем понятно что вы хотели, клип пока не появится в определнном кадре возвращает null, так как его нет да и у флеша есть глюки при обращении к именновоному клипу который твинится (он не всегда понимает, что это один и тот же обьект на уровне кода если копировать и вставлять кадры) Но в приведенном вами коде вообще не понятно зачем все это написано, т.к. target_mc и так веренет MapScene (это в АС2 имело смысл, т.к. у него была другая логика видимости обработчиков).

Словом если это таймлайн MapScene этот код идентичен то что в кадр "blur" вставить строчку mapRussia.gotoAndStop("all"); Может быть выхотели обойти глюк про который я говорил, тогда этот код можно было вешать внутри mapRussia и смтреть где наодится currentLabel у parent
акже его можно попробовать обойти
var mapRussia:MovieClip = getChildByName("mapRussia")

А вообще мой вам совет - отказаться от сомещения твиновой анимации и классов, лучше используйте програмную анимацию Tweener или другую, т.к. при таком сочетании постоянно будут какие-то проблемы
__________________
...

Старый 21.03.2011, 20:41
kseniya вне форума Посмотреть профиль Отправить личное сообщение для kseniya Найти все сообщения от kseniya
  № 3  
Ответить с цитированием
kseniya
 
Аватар для kseniya

Регистрация: Oct 2010
Адрес: Новосиб
Сообщений: 122
Может попробовать поместить во все кадры прозрачный шейп? о_О

Старый 21.03.2011, 21:05
i.o. вне форума Посмотреть профиль Отправить личное сообщение для i.o. Найти все сообщения от i.o.
  № 4  
Ответить с цитированием
i.o.
 
Аватар для i.o.

Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
Добавьте проверку:
Код AS3:
private function onMyEnterFrame(event:Event):void {
    var target_mc:MovieClip = event.target as MovieClip;
    if (target_mc && target_mc.currentLabel == "blur" && this.mapRussia) {
        this.mapRussia.gotoAndStop("all");
    }
}


Последний раз редактировалось i.o.; 21.03.2011 в 21:08.
Старый 22.03.2011, 00:42
kaetano вне форума Посмотреть профиль Отправить личное сообщение для kaetano Найти все сообщения от kaetano
  № 5  
Ответить с цитированием
kaetano
 
Аватар для kaetano

Регистрация: May 2009
Сообщений: 134
Спасибо всем!
с проверкой вроде все работает.

но наверно действительно лучше не мешать твины и классы. попробую освоить программную анимацию. просто она мне кажется трудоемкой и того не стоящей.... может я не права....

Старый 22.03.2011, 01:33
NikolyA вне форума Посмотреть профиль Отправить личное сообщение для NikolyA Найти все сообщения от NikolyA
  № 6  
Ответить с цитированием
NikolyA
 
Аватар для NikolyA

Регистрация: Dec 2006
Сообщений: 1,764
она не трудоемкая, она это правильный подход к решению проблемы
__________________
а за окном атлантический океан!

Старый 22.03.2011, 02:53
kaetano вне форума Посмотреть профиль Отправить личное сообщение для kaetano Найти все сообщения от kaetano
  № 7  
Ответить с цитированием
kaetano
 
Аватар для kaetano

Регистрация: May 2009
Сообщений: 134
Цитата:
Сообщение от NikolyA Посмотреть сообщение
она не трудоемкая, она это правильный подход к решению проблемы
да, сижу потихоньку разбираюсь....


Последний раз редактировалось kaetano; 22.03.2011 в 03:16.
Создать новую тему Ответ Часовой пояс GMT +4, время: 11:14.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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