|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Lorem ipsum
|
Приложение выдает ошибку, если Starling пытается создать холст, который больше размеров приложения. А на мобилах приложение на старте некоторое время пытается распластаться по экрану, выбрасывая при этом 1-2 события RESIZE. Следует в конструкторе документ-класса подписываться на это событие и проверять размер экрана с размером stage. И лишь после того, как ширина/высота будут совпадать, можно приступать к инициализации Starling.
__________________
Поймай яблоко 2! |
|
|||||
Цитата:
this.loaderInfo.addEventListener(Event.COMPLETE, hasFullscreen); protected function hasFullscreen(event:Event):void { event.target.removeEventListener( event.type, hasFullscreen); if ( Capabilities.os.indexOf('Windows') == -1 && Capabilities.screenResolutionX != stage.stageWidth && Capabilities.screenResolutionY != stage.stageHeight ) { stage.addEventListener(Event.RESIZE, hasFullscreen); return; } initCore(); }
__________________
return this... |
|
|||||
Lorem ipsum
|
public function Main() { stage.align = StageAlign.TOP_LEFT; stage.scaleMode = StageScaleMode.NO_SCALE; stage.frameRate = 60; stage.addEventListener(flash.events.Event.RESIZE, onResize); } private function onResize(event:flash.events.Event):void { if (stage.stageWidth == stage.fullScreenWidth && stage.stageHeight == stage.fullScreenHeight) { stage.removeEventListener(flash.events.Event.RESIZE, onResize); initStarling(); } } private function initStarling() { // Вот теперь пора начинать! }
__________________
Поймай яблоко 2! Последний раз редактировалось Zebestov; 03.06.2015 в 22:02. |
|
|||||
Регистрация: Dec 2010
Адрес: Ярославль
Сообщений: 1,255
|
И на сам старлинг тоже стоит повесить слушатели:
// ... starling.addEventListener(starling.events.Event.ROOT_CREATED, onStarlingEvent); starling.addEventListener(starling.events.Event.CONTEXT3D_CREATE, onStarlingEvent); starling.addEventListener(starling.events.Event.FATAL_ERROR, onStarlingEvent); // ... private function onStarlingEvent(e:starling.events.Event):void { switch (e.type) { case starling.events.Event.CONTEXT3D_CREATE: trace("[Main] Starling Context3D created"); contextCreated = true; break; case starling.events.Event.ROOT_CREATED: trace("[Main] Starling root created"); rootCreated = true; break; case starling.events.Event.FATAL_ERROR: trace("[Main] Starling Fatal Error"); break; } if (contextCreated && rootCreated) startGame(); } |
|
|||||
Цитата:
__________________
return this... |
Часовой пояс GMT +4, время: 15:47. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|