|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Lorem ipsum
|
Смена изображения при смене ориентации
Парни!
А не знает ли кто как заставить AIR красиво менять изображение при смене ориентации. Ну чтобы как в любом даже самом зачуханом нативном приложении — фейдом менялось от того, что было, к тому, что будет. Бо меня как законченного перфекциониста бесит это скачкообразное убожество, которое происходит на экране. Если что, речь идет о нативном дисплейлисте.
__________________
Поймай яблоко 2! |
|
|||||
Lorem ipsum
|
Все пробовал. Дело не в этом. В самом AIR криво реализовали. У тебя нет контроля в процессе проворачивания — так бы сам что-то намутил.
Попробовал через черный экран, но есть один глюк, который заставляет отказаться. Дело в том, что у меня получается повернуть мой девайс так, что он кидает CHANGING и CHANGE, но еще не поворачивает экран (не кидает RESIZE). Так вот в этом промежуточном положении с черным экраном девайс может оказаться лежа на столе, например. Фигня это все.
__________________
Поймай яблоко 2! |
|
|||||
Где-то был на просторах фикс. Он основывался на том, что нативное событие прерывалось, и по факту, сама ориентация не менялась, а только отслеживалась
Добавлено через 8 минут Да и предлагалось два метода отслеживания. Первый получать события и прерывать их, второе основывалось на гироскопе и отключенной автоориентацией. Добавлено через 12 минут Нашел в тестах кусочек кода stage.addEventListener(StageOrientationEvent.ORIENTATION_CHANGE,orientationChangeListener); stage.addEventListener(StageOrientationEvent.ORIENTATION_CHANGING, orientationChangeListener); protected function orientationChangeListener(event:StageOrientationEvent = null):void { //event.stopImmediatePropagation(); if (config.unset) { event.preventDefault(); return; } while(numChildren) removeChildAt(0); if (!event) event = new StageOrientationEvent(StageOrientation.DEFAULT); switch(event.afterOrientation) { case StageOrientation.DEFAULT: case StageOrientation.UNKNOWN: case StageOrientation.UPSIDE_DOWN: gui = new gui_pageHomeV(); /*gui.width = 800; gui.height = 1024; /*gui.width = stage.fullScreenWidth; gui.height = stage.fullScreenHeight;*/ break; default: gui = new gui_pageHomeH(); /* gui.width =1024 ; gui.height = 800;*/ break; } gui.width = stage.fullScreenHeight; gui.height = stage.fullScreenWidth; addChild( gui ); if(event) addLog('type '+event.type+' before '+event.beforeOrientation+' after '+event.afterOrientation); addLog('FW: '+FW+' FH: '+FH+" "+stage.width+"x"+stage.height); }
__________________
return this... Последний раз редактировалось AlexCooper; 11.07.2015 в 17:13. |
|
|||||
Lorem ipsum
|
Это прекрасно работает, если хочется менять координатную сетку совсем уж врукопашную.
Я же не хочу отказываться от того, что система координат "флипнулась". Мне лишь не нравится анимация. У меня же ситуаций решилась и вовсе без этих всех премудростей. Зачем мне вообще пользователя слушать? Все проще: портретная фотка — портретная ориентация, альбомная — соответственно! Меняем ориентацию на свое усмотрение с помощью stage.setOrientation() и никаких тебе промежуточных положений, отловов событий. Все красиво, плавно ушли в ЗТМ, повернули (как и положено топорно, по-AIRовски), плавно вышли из ЗТМ — лепота!
__________________
Поймай яблоко 2! |
|
|||||
Lorem ipsum
|
Совершенно верно, случай индивидуальный, так что пронесло )
__________________
Поймай яблоко 2! |
|
|||||
Lorem ipsum
|
Не, такой себе редактор фотографий простенький
__________________
Поймай яблоко 2! |
Часовой пояс GMT +4, время: 11:02. |
|
« Предыдущая тема | Следующая тема » |
|
|