![]() |
Как получить переменную родителя?
Привет!
А кто-нибудь знает как получить переменную обявленнную в родителе. На пример: В keyFrame'е обявлена переменная: var maxcount:Number=3; после этого создаются 3 подчиненых обекта MovieClip. В них есть код который должен обращатся к этому самому maxcount. в AS2 это делалост так: this._parent.maxcount. А как это сделать в AS3? :umnik2: Заранее спасибо! |
Для начала нужно перестать писать код в кадрах и писать код в классе.
|
classes это конечно хорошо.
Я просто создаю презентацию, и мне не нужна особая интерактивность, и писать огромный класс ради 5 минутной анимации это гораздо дольше чем это сделать графическим способом использое обектооринтированное програмирование, где каждый ребенок наделяется свойствами своего родителя.
В любом случае адекватность разработчиков Adobe, я сейчас неоцениваю. Хотя мне остается не понятным с какого перепалоха они решили изменить общепонятные принципы программировани. :rtfm: для тех кто все же сохраняет компромис между "дизайнерским" и программным способами: команда parent в as3 работает иначем чем в as2. дело в том что она соержит ссылку на объект типа DisplayConteiner который не загружает весь объект родителя, а только основные методы и свойства огворинные в нем такие как (name, alpha и так далее) но не содержит динамически объявленных параметров, например переменных объявленных с полмощью var. для того, чтоб получить к ним доступ, в подчиненном объекте создать объект содержащий родительский, и обращатся к нему. for example: Код:
Код:
|
parent as MovieClip?
|
Кастить объект в нужный тип надо. Например, как описано выше.
|
...
Не совсем понял, что значит parent as MovieClip?
parent это свойство встроеного класса DisplayObjectContainer. это результат миграции _parent класса MovieClip из второго ActionScript'а. в AS3 ссылается на DisplayObjectContainer объект в котором содержится данный объект. Используется для построения относительного пути к объекту. стоящем выше данного в иерархическом списке. В моем примере иерархия была следующая: root1 (это то, что раньше было _root) ball (MovieClip в первом кадре) ball1 (MovieClip в первом кадре) ball2 (MovieClip в первом кадре) сответственно ball.parent = [объект типа root, содержащий в себе объекты типа movieClip {ball;ball1;ball2}] |
Ну так в чем проблема-то?
|
Уже нет проблемы :D ...
просто если кто-то сталкнется с тем же, я обяснил, как это можно решать. |
ну так давай, поясняй:) и кстати есть такой ещё вопрос - как из класса обратиться к родителю объекта этого класса?
|
Речь о наследниках DisplayObject?
|
| Часовой пояс GMT +4, время: 14:01. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.