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

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

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

Регистрация: Jul 2009
Сообщений: 95
По умолчанию Стейты у SimpleButton.

Здравствуйте. Объясните пожалуйста мне, тупице, следующие вопросы.

1. Предположим, у меня имеется некий SimpleButton, зашитый в FLA и с линкованный через Linkage.

Вот как я их создаю(упрощенно):

Код AS3:
var newButton:SimpleButton = new MyButton();//Создаемся
var copyButton:SimpleButton = new (Object(newButton)).constructor();//Клонируем.
Тут все понятненько, все стейты кнопки были заданы в редакторе и сам класс MyButton разруливает расстановку стейтов при пересоздании класса.

2. Я наткнулся на то, что мне нужно загружать кнопки извне. Я стал загружать спрайты и записывайть их в стейты, вот так:

Код AS3:
myButton.onUpState = loaderInfo.loader.content;
все ок, все шуршит и пашит. Но потом мне эти кнопке также понадобилось клонировать. К сожалению, первый вариант уже не катит, поскольку во втором случае уже используется не MyButton, описанный в FLA, а базовый SimpleButton и он не знает изначально, что у него внутри.

Поставил вот такой костыль:

copy.upState = new (Object(myButton.upState)).constructor()

Гы. Работает. Но первый вариант перестал работать с этой строчкой.
Стал рыться в отладчике. Может ещё что-нибудь сетать надо? Смотрю, у copy.upState есть свойство parent, равное самому myButton(т.е. хозяин у контрола остался тот же)

3. Я фшоке. Какие образом просетать в это поле(parent), если оно read-only, да ещё плюс к тому SimpleButton не является контейнером!

Что вы думаете по всему вышеописанному.

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

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

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


 


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


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