Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > API приложений и сред

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 03.06.2015, 12:35
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 11  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
Цитата:
Сообщение от AlexCooper Посмотреть сообщение
Не понял вопроса
Приложение выдает ошибку, если Starling пытается создать холст, который больше размеров приложения. А на мобилах приложение на старте некоторое время пытается распластаться по экрану, выбрасывая при этом 1-2 события RESIZE. Следует в конструкторе документ-класса подписываться на это событие и проверять размер экрана с размером stage. И лишь после того, как ширина/высота будут совпадать, можно приступать к инициализации Starling.
__________________
Поймай яблоко 2!

Старый 03.06.2015, 19:22
AlexCooper вне форума Посмотреть профиль Отправить личное сообщение для AlexCooper Найти все сообщения от AlexCooper
  № 12  
Ответить с цитированием
AlexCooper
 
Аватар для AlexCooper

Регистрация: Sep 2008
Адрес: Черкассы
Сообщений: 1,167
Записей в блоге: 1
Отправить сообщение для AlexCooper с помощью ICQ Отправить сообщение для AlexCooper с помощью Skype™
Цитата:
Сообщение от Zebestov Посмотреть сообщение
Приложение выдает ошибку, если Starling пытается создать холст, который больше размеров приложения. А на мобилах приложение на старте некоторое время пытается распластаться по экрану, выбрасывая при этом 1-2 события RESIZE. Следует в конструкторе документ-класса подписываться на это событие и проверять размер экрана с размером stage. И лишь после того, как ширина/высота будут совпадать, можно приступать к инициализации Starling.
Добавил на всякий для стабильности)
Код AS3:
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...

Старый 03.06.2015, 19:27
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 13  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
Код AS3:
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.
Старый 03.06.2015, 20:12
illuzor вне форума Посмотреть профиль Отправить личное сообщение для illuzor Найти все сообщения от illuzor
  № 14  
Ответить с цитированием
illuzor
 
Аватар для illuzor

Регистрация: Dec 2010
Адрес: Ярославль
Сообщений: 1,255
И на сам старлинг тоже стоит повесить слушатели:

Код AS3:
// ...
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();
}

Старый 03.06.2015, 20:54
AlexCooper вне форума Посмотреть профиль Отправить личное сообщение для AlexCooper Найти все сообщения от AlexCooper
  № 15  
Ответить с цитированием
AlexCooper
 
Аватар для AlexCooper

Регистрация: Sep 2008
Адрес: Черкассы
Сообщений: 1,167
Записей в блоге: 1
Отправить сообщение для AlexCooper с помощью ICQ Отправить сообщение для AlexCooper с помощью Skype™
Цитата:
Сообщение от illuzor Посмотреть сообщение
И на сам старлинг тоже стоит повесить слушатели:

Код AS3:
// ...
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.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 15:47.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.