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

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

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

Регистрация: Nov 2006
Сообщений: 253
По умолчанию как вычислить объект?

Привет.
Пишу во фреймах, поэтому сталкиваюсь с проблемой использования некоторых мувиклипов. Как к ним правильно обращаться?
Вот ситуация - на сцене есть мувик mc1 и mc2. Внутри mc2 - еще два мувика один в другом. Хочу из самого глубокого мувика вызвать mc1 и не поолучаеться - говорит, что такой объект неизвестен.

делал я просто
Код AS3:
this.parent.parent.parent.mc1.alpha=.5;
Выскакивает ошибка. Как уже не пробовал играться с парентами - ничего не получаеться. Подскажите, как правильно обращаться к мувикам в As3? если пишешь во фреймах.
__________________
Living with the smile

Старый 10.12.2008, 01:22
ZlPredator вне форума Посмотреть профиль Отправить личное сообщение для ZlPredator Найти все сообщения от ZlPredator
  № 2  
Ответить с цитированием
ZlPredator

Регистрация: Nov 2008
Сообщений: 65
можно
Код AS3:
root.mc1.alpha=.5;
Хотя и твой код должен работать. Скорее всего ты обращаешься в момент, когда mc1 еще нету.

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

Регистрация: Nov 2006
Сообщений: 253
спасибо, буду пробовать.
А вот еще один вопросик: в As2 можно было в любом месте создавать по типу
Код AS1/AS2:
_root.store=100;
Потом в любом месте мувика использовать это.
А в As3 пробовал, но такое не получаеться.
__________________
Living with the smile

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

Регистрация: Sep 2007
Адрес: Tomsk
Сообщений: 943
Отправить сообщение для kackbip с помощью ICQ Отправить сообщение для kackbip с помощью Skype™
В строке
Код AS3:
this.parent.parent.parent.mc1.alpha=.5;
у вас неизвестная составляющая является mc1. Т.е. если вы протрейсите то увидите что mc1=undefined. Потому, что DisplayObjectConteiner не является динамическим классом. Чот это значит? А то, что DisplayObjectContainer может содержать только те методжы и свойства, которые были даны ему в описании класса.
Я так полагаю, вас не интересуют особые программерские заморочки о правильности подхода Потому вот вам 2 варианта:
Код AS3:
this.parent.parent.parent.getChildByName("mc1").alpha=.5;
 
(parent.parent as MovieClip).mc3.alpha = 0.5;

Старый 10.12.2008, 12:26
Ar4ibald вне форума Посмотреть профиль Отправить личное сообщение для Ar4ibald Найти все сообщения от Ar4ibald
  № 5  
Ответить с цитированием
Ar4ibald
 
Аватар для Ar4ibald

Регистрация: Nov 2006
Сообщений: 253
спасибо,работает теперь. По сравнению с AS2 логика конечно сложноватая
__________________
Living with the smile

Старый 10.12.2008, 12:30
mre вне форума Посмотреть профиль Отправить личное сообщение для mre Посетить домашнюю страницу mre Найти все сообщения от mre
  № 6  
Ответить с цитированием
mre
 
Аватар для mre

Регистрация: Jul 2007
Адрес: Москва
Сообщений: 996
Цитата:
Сообщение от Ar4ibald Посмотреть сообщение
По сравнению с AS2 логика конечно сложноватая
Конечно, если придумывать сложности самому себе, используя parent.parent.parent...

Старый 10.12.2008, 12:30
DarkLight вне форума Посмотреть профиль Отправить личное сообщение для DarkLight Посетить домашнюю страницу DarkLight Найти все сообщения от DarkLight
  № 7  
Ответить с цитированием
DarkLight
ветеран форума
 
Аватар для DarkLight

Регистрация: May 2006
Адрес: Москва
Сообщений: 2,978
Отправить сообщение для DarkLight с помощью ICQ Отправить сообщение для DarkLight с помощью Skype™
Потому что писать во фреймах в AS3 - извращение. И гулять так через все уровни вложенности тем более. Тут проблема не в языке, а в реализации.
__________________
4am is time to rock

Старый 10.12.2008, 12:50
Ar4ibald вне форума Посмотреть профиль Отправить личное сообщение для Ar4ibald Найти все сообщения от Ar4ibald
  № 8  
Ответить с цитированием
Ar4ibald
 
Аватар для Ar4ibald

Регистрация: Nov 2006
Сообщений: 253
Тоесть самым лучшим выходом реализации будет писать через классы?
__________________
Living with the smile

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

Регистрация: Sep 2002
Сообщений: 30,787
Точнее в проектировании.

Старый 10.12.2008, 13:42
Ar4ibald вне форума Посмотреть профиль Отправить личное сообщение для Ar4ibald Найти все сообщения от Ar4ibald
  № 10  
Ответить с цитированием
Ar4ibald
 
Аватар для Ar4ibald

Регистрация: Nov 2006
Сообщений: 253
Когда пробовал писать в классах сталкивался с проблемами передачи значений между классами и непонятными ошибками. Отбило меня от классов, хотя теперь понимаю, что зря.
__________________
Living with the smile

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

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

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


 


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


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