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

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 29.01.2016, 14:17
undefined вне форума Посмотреть профиль Отправить личное сообщение для undefined Найти все сообщения от undefined
  № 1  
Ответить с цитированием
undefined

Регистрация: Oct 2006
Сообщений: 2,282
По умолчанию Ожидание инициализации стейджа в AIR

Имеется следующая проблема:
При запуске приложения на телефоне к моменту, когда выполняется конструктор Main,телефон еще не сменил ориентацию либо не скрыл системную панель из-за чего габариты стейджа stageWidth,stageHeight определяются неверно.Если выждать 2-3 секунды и после этого стартовать приложение - все ок.
Вопрос: есть ли какой-нибудь ивент чтоб понять,что стейдж уже устаканился?
Пробовал подписываться в конструкторе на stage.addEventListener(Event.RESIZE, start); но он вообще не вызывается.
тестю на air sdk 20.0.0

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

Регистрация: Dec 2010
Адрес: Ярославль
Сообщений: 1,255
Странно, что не вызывается. Код в студию

Старый 29.01.2016, 15:40
undefined вне форума Посмотреть профиль Отправить личное сообщение для undefined Найти все сообщения от undefined
  № 3  
Ответить с цитированием
undefined

Регистрация: Oct 2006
Сообщений: 2,282
Код AS3:
public function Main():void {
			tf = new TextField();
			tf.textColor = 0xFF0000;
			NativeApplication.nativeApplication.autoExit = true;
			stage.addEventListener(Event.DEACTIVATE, deactivate);
			NativeApplication.nativeApplication.addEventListener(KeyboardEvent.KEY_DOWN, handleKeys,false,int.MAX_VALUE);
			//NativeApplication.nativeApplication.systemIdleMode = SystemIdleMode.NORMAL;
			if (Capabilities.cpuArchitecture == "ARM") {
				stage.addChild(tf);
				tf.text = "started";
				stage.addEventListener(Event.RESIZE, start);
		} else {
			if (stage) 
				start();
			else 
				addEventListener(Event.ADDED_TO_STAGE, start);
		}
}
public function start(e:Event = null):void {
			tf.text = "ready";
....
}
На экране вижу started

Добавлено через 3 минуты
illuzor, загляни плз в личку


Последний раз редактировалось undefined; 29.01.2016 в 16:17.
Старый 29.01.2016, 18:30
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 4  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Есть ещё orientationChanging. Но вряд ли он тебе пригодится. А в application.xml приписал ориентацию экрана?

Старый 29.01.2016, 18:42
undefined вне форума Посмотреть профиль Отправить личное сообщение для undefined Найти все сообщения от undefined
  № 5  
Ответить с цитированием
undefined

Регистрация: Oct 2006
Сообщений: 2,282
да, стоит autoOrients,aspect ratio - landscape.Проблема не только при смене ориентации, там еще системная панелька сверху убирается только после старта приложения.Проверить без смены ориентации не могу т.к. раб. стол андройда всегда в портретной ориентации.
caseyryan,ты можешь собрать простенькое приложение с таким кодом:
Код AS3:
...
private var tf:TextField;
public function Main():void {
tf = new TextField();
tf.textColor = 0xFF0000;
tf.text=stage.stageWidth+"x"+stage.stageHeight;
addChild(tf);
}
и глянуть будет ли стейдж соответствовать разрешению девайса?Думаю может это у меня тел кривой?

Создать новую тему Ответ Часовой пояс GMT +4, время: 11:03.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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