![]() |
|
||||||||||
|
|||||
|
[+1 25.10.13]
[+4 18.03.14] |
Имеется ввиду что как только main добавляется в стейдж вызывается init(); А так как main это экземпляр то сначала отрабатывает конструктор. Я лично так понимаю.
|
|
|||||
|
Цитата:
есть ссылка на stage и только в том случае когда флешка запускается прямо в плеере, если подгружается то нет и ссылки но это не значит, что спрайт уже добавлен, да и как, если он еще не создан ? |
|
|||||
|
[+1 25.10.13]
[+4 18.03.14] |
silin, я правильно написал?
|
|
|||||
|
эта конструкция
актуальна для подгружаемых мувиков в случае если в конструкторе(при создании) нужен доступ к stage для 'головного' мувика ссылка на stage уже есть, поэтому сразу отрабатывает init |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Цитата:
Весь этот эпиграф с подпиской только на случай загрузки в другую флэшку.
__________________
Reality.getBounds(this); Последний раз редактировалось Wolsh; 25.10.2013 в 21:12. |
|
|||||
|
Banned
[+4 24.02.14]
[+4 07.11.13] [+ 13.03.14] Регистрация: Mar 2013
Сообщений: 1,864
|
silin Спасибо! я кажется разобрался. Так как stage уже есть, срабатывает init(), который создаёт sprite до завершения выполнения конструктора.
Но если честно, то я думал, что пока не добавится Main не может добавиться нечего. |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Чтобы разобраться надо всего два трейса вставить
package { import flash.display.Sprite; import flash.events.Event; public class Main extends Sprite { public function Main():void { if (stage) init(); else addEventListener(Event.ADDED_TO_STAGE, init); trace("Constructor"); } private function init(event:Event = null):void { trace("Init", event); removeEventListener(Event.ADDED_TO_STAGE, init); // entry point } } } Цитата:
__________________
Reality.getBounds(this); |
|
|||||
|
Banned
[+4 24.02.14]
[+4 07.11.13] [+ 13.03.14] Регистрация: Mar 2013
Сообщений: 1,864
|
Wolsh Спасибо! Капельку рад что разобрался в этом сейчас.
|
|
|||||
|
[+1 25.10.13]
[+4 18.03.14] |
Уолш, но ведь stage является контейнером. Чтобы добавить экземпляр Main его как минимум надо создать, и следовательно вызвать конструктор.
|
|
|||||
|
Banned
[+4 24.02.14]
[+4 07.11.13] [+ 13.03.14] Регистрация: Mar 2013
Сообщений: 1,864
|
У меня тоже вызывает некое недоумение эта ситуация, ведь, как все говорят - мы добавляем обьекты в класс Main. И получается, что добавили ещё до его создания. я эту интригу обьяснил так - пусть майн ещё не создан, но мы и не добавляем не чего в майн, мы ведь тип режим ДОКом. И тогда само напрашивается, что ДОК тоже есть сразу.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 21:37. |
|
|
« Предыдущая тема | Следующая тема » |
|
|