![]() |
|
Модераторы: SoWa |
![]()
|
|
| VingradFan |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 477 Регистрация: 30.1.2006 Где: Москва Репутация: 1 Всего: 3 |
Здравствуйте. Перехожу с АС2 на АС3 со скрипом, поэтому прошу не пинать ногами.
Как сделать так, чтобы экземпляр класса, объявленный в root, создавал в нем мувиклип? Спасибо большое!
Класс BallSimple - наследник MovieClip Это сообщение отредактировал(а) VingradFan - 27.6.2011, 08:26 -------------------- Когда-нибудь я стану богатым и куплю себе столько Ролтонов, сколько захочу... |
|||
|
||||
| VingradFan |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 477 Регистрация: 30.1.2006 Где: Москва Репутация: 1 Всего: 3 |
ОМГ 50+ просмотров - 0 ответов!!!
Как из экземпляра импортированного класса обратиться к таймлайну???? Это сообщение отредактировал(а) VingradFan - 27.6.2011, 15:00 -------------------- Когда-нибудь я стану богатым и куплю себе столько Ролтонов, сколько захочу... |
|||
|
||||
| SoWa |
|
|||
![]() Харекришна ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2422 Регистрация: 18.10.2004 Репутация: 1 Всего: 74 |
В таймлайне у тебя создан экземпляр Ball, так?
В экземпляре Ball создается экземпляр BallSimple. Если оба наследуются от того-же MovieClip, то в Ball пиши что-то типа this.addChild(mainBall) В таймлайне пиши addChild(ballObject), где ballObject - экземпляр класса Ball. Изнутри ты сможешь получить, только если в конструкторе передашь this(по сути - root). -------------------- Всем добра |
|||
|
||||
| VingradFan |
|
||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 477 Регистрация: 30.1.2006 Где: Москва Репутация: 1 Всего: 3 |
SoWa, спасибо за ответ. Я сам дошел до вот таких костылей, я так понял, ты их и предлагаешь.
класс:
таймлайн:
Но это ведь не труъ подход. Мне казалось, труъ подход - это когда я создаю экземпляр класса и он сам все делает без добавления детей в таймлайн. Что-то вроде
и ХОП! на таймлайне шарик, который сам знает, как себя двигать по сцене, как реагировать на нажатия итд var ballTwo=new Ball(); и еще один. Или я ошибаюсь? Это сообщение отредактировал(а) VingradFan - 27.6.2011, 19:14 -------------------- Когда-нибудь я стану богатым и куплю себе столько Ролтонов, сколько захочу... |
||||||
|
|||||||
| VingradFan |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 477 Регистрация: 30.1.2006 Где: Москва Репутация: 1 Всего: 3 |
SoWa, я понял твою мысль из последнего абзаца! Спасибо! Получилось как-то так:
Класс:
Таймлайн:
Тоесть, я передаю ссылку на таймлайн в парамере конструктора. Так? То, что я и хотел. Экземпляр класса сам добавляет шарик на таймлайн. В итоге, какой подход лучше????? Это сообщение отредактировал(а) VingradFan - 27.6.2011, 16:38 -------------------- Когда-нибудь я стану богатым и куплю себе столько Ролтонов, сколько захочу... |
||||
|
|||||
| SoWa |
|
|||
![]() Харекришна ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2422 Регистрация: 18.10.2004 Репутация: 1 Всего: 74 |
Я рад, что у тебя получилось реализовать оба подхода )
С точки зрения архитектуры программы - первый лучше. Т.е. твоим шариком должна управлять некая логика. Сам по себе шарик логикой не обладает. Это из концепции MVC и здравого смысла. Например, логика может быть заложена в поле для шариков. Что касается второго подхода - со ссылкой на this - я еще не исследовал, что там получается по поглощению памяти... Мне второй подход не нравится как технически, так и эстетически. Но если ты всеж желаешь, чтобы шарик сам собой управлял - оставляй второй. Только потестируй, загони на таймлайн 500 шариков и посмотри на ресурсы приложения. -------------------- Всем добра |
|||
|
||||
| VingradFan |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 477 Регистрация: 30.1.2006 Где: Москва Репутация: 1 Всего: 3 |
Во втором варианте получилось так: 100 экземаляров класса кушают 12 MB памяти.
Это много или мало? -------------------- Когда-нибудь я стану богатым и куплю себе столько Ролтонов, сколько захочу... |
|||
|
||||
| SoWa |
|
|||
![]() Харекришна ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2422 Регистрация: 18.10.2004 Репутация: 1 Всего: 74 |
Это нормально. Я узнал, ссылки передаются - с памятью проблем не возникнет.
В общем, делай как тебе удобно -------------------- Всем добра |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | ActionScript 3 | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |