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

Вернуться   Форум Flasher.ru > Flash > Flash Приложения: AIR, Zinc и тд.

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

Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,235
По умолчанию AIR приложение на iPhone восстанавливается на полэкрана

Выглядит так:

1. Приложение работает.
2. Нажимаем кнопку выключения смартфона, получаем черный экран.
3. Нажимаем кнопку Home, приложение восстанавливается, но при этом справа примерно половина обрезана и там черный экран.
4. Лечится так: нажимаем кнопку Home и свертываем приложение, потом нажимаем на иконку приложения - оно восстанавливается на полный экран.

Никто не сталкивался?

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

Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,235
Уточню, а то всю голову себе сломал уже.

1. Приложение имеет только горизонтальное расположение, что прописано в манифесте:

Код:
        <!-- The aspect ratio of the app ("portrait" or "landscape" or "any"). Optional. Mobile only. Default is the natural orientation of the device -->
        <aspectRatio>landscape</aspectRatio>

        <!-- Whether the app will begin auto-orienting on launch. Optional. Mobile only. Default false -->
        <autoOrients>false</autoOrients>

        <!-- Whether the app launches in full screen. Optional. Mobile only. Default false -->
        <fullScreen>true</fullScreen>
2. Выключаем айфон, включаем, нажимаем хоум - заставка убирается, приложение восстанавливается, но при этом его ширина строго равна высоте экрана. Т.е., показывается левая часть интерфейса:



Как это вылечить?

Приложение на старлинге, довольно много ресурсов.

Старый 24.01.2017, 18:49
alexandrratush вне форума Посмотреть профиль Отправить личное сообщение для alexandrratush Найти все сообщения от alexandrratush
  № 3  
Ответить с цитированием
alexandrratush
 
Аватар для alexandrratush

Регистрация: Jul 2013
Адрес: Днепр
Сообщений: 529
Отправить сообщение для alexandrratush с помощью ICQ Отправить сообщение для alexandrratush с помощью Skype™
Не знаю с чем это связано, но скорее всего событие Resize выдает неправильные размеры экрана, то есть ширину вместо высоты и наоборот. Почему так, я до конца не разобрался. У меня в Android'e была похожая проблема. Добавил такую проверку:
Код AS3:
var aspect:String = this.stage.stageWidth >= this.stage.stageHeight ? StageAspectRatio.LANDSCAPE : StageAspectRatio.PORTRAIT;

Старый 25.01.2017, 01:21
ShockWave512 вне форума Посмотреть профиль Отправить личное сообщение для ShockWave512 Посетить домашнюю страницу ShockWave512 Найти все сообщения от ShockWave512
  № 4  
Ответить с цитированием
ShockWave512

Регистрация: Dec 2007
Адрес: NA
Сообщений: 741
Отправить сообщение для ShockWave512 с помощью Skype™
вот непомню точно, но вроде была похожая проблема, связка старлинг-физерс постоянно путалась с размером:
в аппе такой код

Код AS3:
private function onResize(e:*):void
{
	 // set rectangle dimensions for viewPort:
	var viewPortRectangle:Rectangle = new Rectangle();
	viewPortRectangle.width = stage.stageWidth; 
	viewPortRectangle.height = stage.stageHeight;
 
	// resize the viewport:
	starling.viewPort = viewPortRectangle;
 
	starling.stage.stageWidth = stage.stageWidth;
	starling.stage.stageHeight = stage.stageHeight;
}

Старый 25.01.2017, 14:32
mikhailk вне форума Посмотреть профиль Отправить личное сообщение для mikhailk Найти все сообщения от mikhailk
  № 5  
Ответить с цитированием
mikhailk
 
Аватар для mikhailk

Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,235
А событие RESIZE какой сцены? Нативной или старлинга?
Что-то у меня не помогло.

Старый 25.01.2017, 14:36
ShockWave512 вне форума Посмотреть профиль Отправить личное сообщение для ShockWave512 Посетить домашнюю страницу ShockWave512 Найти все сообщения от ShockWave512
  № 6  
Ответить с цитированием
ShockWave512

Регистрация: Dec 2007
Адрес: NA
Сообщений: 741
Отправить сообщение для ShockWave512 с помощью Skype™
нативной

Добавлено через 4 минуты
хмм, только догадки остались, а попробуйте сравнить нативный stage.fullScreenWidth, stage.fullScreenHeight и stage.stageWidth;
stage.stageHeight ?

Смутная еще какая то ассоциация есть с stage.deviceOrientation - может там что то противоположное с шириной/высотой старлинга

старлинг второй?

Старый 25.01.2017, 14:58
mikhailk вне форума Посмотреть профиль Отправить личное сообщение для mikhailk Найти все сообщения от mikhailk
  № 7  
Ответить с цитированием
mikhailk
 
Аватар для mikhailk

Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,235
Нет, 1.7


Код AS3:
        private function onResize( e : Event ) : void
        {
            if ( !Starling.current ) return;
 
            DebuggerMobile.traceLog( '[..onResize]', stage.stageWidth, stage.stageHeight, Starling.current.stage.stageWidth, Starling.current.stage.stageHeight );
 
            // set rectangle dimensions for viewPort:
            var viewPortRectangle : Rectangle = new Rectangle();
            viewPortRectangle.width = stage.stageWidth;
            viewPortRectangle.height = stage.stageHeight;
 
            // resize the viewport:
            Starling.current.viewPort = viewPortRectangle;
 
            Starling.current.stage.stageWidth = stage.stageWidth;
            Starling.current.stage.stageHeight = stage.stageHeight;
        }
Выдало после восстановления на полэкрана:

Код:
[..onResize], 640, 1136, 1136, 640
Т.е., действительно стороны перепутаны.
Но дальнейший код ничего не исправил.

Старый 25.01.2017, 15:07
ShockWave512 вне форума Посмотреть профиль Отправить личное сообщение для ShockWave512 Посетить домашнюю страницу ShockWave512 Найти все сообщения от ShockWave512
  № 8  
Ответить с цитированием
ShockWave512

Регистрация: Dec 2007
Адрес: NA
Сообщений: 741
Отправить сообщение для ShockWave512 с помощью Skype™
ну что придумать еще? попробуйте силовой ресайз, везде где есть подозрения, обязательно в NativeApplication - Event - "activate".

старлинговский контекст восстанавливается после пробуждения? или работает старый?

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

Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,235
Все совершенно работоспособно.
С учетом того, что видна только часть. ))

Вообще такое ощущение, что изменилось только окошко, через которое видно приложение.
Само оно на том же месте, что и раньше.

Цитата:
связка старлинг-физерс постоянно путалась с размером
Кстати, а если избавиться от физерс - это может помочь или никак не связано?

Старый 25.01.2017, 15:26
ShockWave512 вне форума Посмотреть профиль Отправить личное сообщение для ShockWave512 Посетить домашнюю страницу ShockWave512 Найти все сообщения от ShockWave512
  № 10  
Ответить с цитированием
ShockWave512

Регистрация: Dec 2007
Адрес: NA
Сообщений: 741
Отправить сообщение для ShockWave512 с помощью Skype™
Если у вас размеры рутового физерс контейнера привязаны к AUTOSIZE_MODE_STAGE, то не думаю что он виноват. Тем более там у вас вроде видно что старлинг не принимает правильный размер натив стейджа.

Но если можно легко его отключить и проверить, то всегда лучше отбрасывать возможные варианты.

Сейчас похожу по коду старлинга, как он там реагирует на смену ориентации и стейджа.

Может глянуть stage.fullScreenWidth, от них отталкиваться при создании вьюпорта старлинга? У вас апп с системной панелью iOS? или в полный экран?

Добавлено через 16 минут
вот с этими тегами пробовали играть?
Код AS3:
<fullScreen>true</fullScreen>
<autoOrients>true</autoOrients>
<aspectRatio>portrait</aspectRatio>


Последний раз редактировалось ShockWave512; 25.01.2017 в 15:43.
Создать новую тему Ответ Часовой пояс GMT +4, время: 14:47.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

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

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


 


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


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