![]() |
|
||||||||||
|
|||||
|
Регистрация: Apr 2007
Сообщений: 7
|
Привет!
А кто-нибудь знает как получить переменную обявленнную в родителе. На пример: В keyFrame'е обявлена переменная: var maxcount:Number=3; после этого создаются 3 подчиненых обекта MovieClip. В них есть код который должен обращатся к этому самому maxcount. в AS2 это делалост так: this._parent.maxcount. А как это сделать в AS3? Заранее спасибо! |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Для начала нужно перестать писать код в кадрах и писать код в классе.
|
|
|||||
|
Регистрация: Apr 2007
Сообщений: 7
|
Я просто создаю презентацию, и мне не нужна особая интерактивность, и писать огромный класс ради 5 минутной анимации это гораздо дольше чем это сделать графическим способом использое обектооринтированное програмирование, где каждый ребенок наделяется свойствами своего родителя.
В любом случае адекватность разработчиков Adobe, я сейчас неоцениваю. Хотя мне остается не понятным с какого перепалоха они решили изменить общепонятные принципы программировани. для тех кто все же сохраняет компромис между "дизайнерским" и программным способами: команда parent в as3 работает иначем чем в as2. дело в том что она соержит ссылку на объект типа DisplayConteiner который не загружает весь объект родителя, а только основные методы и свойства огворинные в нем такие как (name, alpha и так далее) но не содержит динамически объявленных параметров, например переменных объявленных с полмощью var. для того, чтоб получить к ним доступ, в подчиненном объекте создать объект содержащий родительский, и обращатся к нему. for example: // объект root1_keyFrame_1 var maxcount:Number = 3; // объект root1.ball_keyFrame_1 var id:Number = 1; trace(this.parent.name) // roo1 trace(this.parent.maxcount) // Error var mc:Object=this.parent trace(mc.maxcount) // 3 ![]() Последний раз редактировалось AlexMac; 29.04.2007 в 02:32. |
|
|||||
|
стервочка (я мужик)
|
parent as MovieClip?
|
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Кастить объект в нужный тип надо. Например, как описано выше.
|
|
|||||
|
Регистрация: Apr 2007
Сообщений: 7
|
Не совсем понял, что значит 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}] Последний раз редактировалось AlexMac; 28.04.2007 в 22:21. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Ну так в чем проблема-то?
|
|
|||||
|
Регистрация: Apr 2007
Сообщений: 7
|
Уже нет проблемы
...просто если кто-то сталкнется с тем же, я обяснил, как это можно решать. |
|
|||||
|
[+3 04.06.07]
Регистрация: Sep 2006
Сообщений: 15
|
ну так давай, поясняй
и кстати есть такой ещё вопрос - как из класса обратиться к родителю объекта этого класса? |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Речь о наследниках DisplayObject?
|
![]() |
![]() |
Часовой пояс GMT +4, время: 15:56. |
|
|
« Предыдущая тема | Следующая тема » |
|
|