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

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

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

Регистрация: Nov 2008
Адрес: Москва
Сообщений: 92
По умолчанию Обращение к вложеному символу из класса

В продолжение темы "как привыкнуть к ас3 когда думаешь на ас2" К сути. В библиотеке есть символ с линкейджем, внутри него есть другой мувик названый "state".(написано в поле через контрол ф3, тобишь пропертя "name") Хочу переместить вложеный мувик на нужную метку в кадре.
Код AS3:
var newGem:McGem = new McGem();
_graphic.addChild(newGem);
newGem.gotoAndStop(newGem.type);
newGem.state.gotoAndStop("_normal");//вот здесь проблема
newGem.state при трейсе выводит нулл. фокусы вроде newGem["state"] теперь не спасают. линкейджить каждый внутренний мувик чтобы затем динамически его добавлять - не хочется. Как предупредить долбаный компилятор, что внутри newGem всегда есть другой символ с именем state?
Да, забыл сказать это кусок приватной функции.


Последний раз редактировалось incorp; 08.09.2009 в 19:24.
Старый 08.09.2009, 19:25
fljot вне форума Посмотреть профиль Отправить личное сообщение для fljot Найти все сообщения от fljot
  № 2  
Ответить с цитированием
fljot

блогер
Регистрация: Jul 2007
Сообщений: 940
Записей в блоге: 3
грамотный:
1. в свойствах публикации - as3 properties - отключить automatically declare stage instances
2. в классе McGem явно объявить public var state:MovieClip или какой там у вас тип

впринципе фокус вроде newGem["state"] должен работать.

но ваша беда наверное в том, что объект с именем state существует только в кадре newGem.type, а обращаетесь вы к нему сразу после gotoAndStop, когда требуемый кадр ещё не готов - надо сделать задержку в кадр, тогда будет доступ к state

Старый 08.09.2009, 19:52
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 3  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
getChildByName

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

Регистрация: Jun 2006
Адрес: Москва
Сообщений: 461
Дык, может getChildByName(name:String)isplayObject, спасет? плюс дальнейший кастинг к MovieClip.

Старый 08.09.2009, 20:56
incorp вне форума Посмотреть профиль Отправить личное сообщение для incorp Найти все сообщения от incorp
  № 5  
Ответить с цитированием
incorp

Регистрация: Nov 2008
Адрес: Москва
Сообщений: 92
спасибо, помогло, разобрался

Создать новую тему Ответ Часовой пояс GMT +4, время: 01:50.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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