Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Несколько вопросов по Mobile dev (android) (http://www.flasher.ru/forum/showthread.php?t=213574)

in4core 07.11.2016 23:34

Несколько вопросов по Mobile dev (android)
 
Коллеги, прошу помочь осознать дзен на начальном этапе вот в каких вопросах

1) Многие бубнят про Starling - в связи с этим вопрос, Must have - или можно и без него? Приложения типа покер, слоты и иже с ними, никакой 3д графики, минимум векторной графики, 90% растра - анимаций тоже почти нет, минимально типа - сдвинуть панель вправо ( твин ) , сдвинуть карту на столе ( твин) и т.п.

2) Как лучше планировать приложение насчет ориентации экрана - предполагается, что есть некое лобби в ПОРТРЕТ, а игра - уже в ЛЕНДСКЕЙП. В связи с этим вопрос, как будет правильно планировать приложение, создать экран для портрет, затем при переходе в игру, сменить ориентацию ( сменяется для всех экранов ), или рисовать графику так,чтобы всегда был лендскейп - но кнопки лобби допустим поворачивать на 90 градусов... кто как делает?

3) Можно ли задавать какие то темы для баров (статус и нав) ? Видел у многих - что своя цветовая гамма ( фон баров) , у меня же пока получается только с тем же цветов, что и установленная тема в телефоне соответсвенно. Если можно - покажите пример, как это делается на основе AIR android application.xml

Спасибо

caseyryan 08.11.2016 18:31

1) Для твоей задачи можно (и даже лучше) без него. Но и от векторной графики лучше отказаться совсем.
2) Лучше делать без смены ориентации. Тупить может при смене. Да и вообще, игры чаще всего делаются под один тип, либо портрет, либо лендскейп. Я всегда делаю в лендскейп.
3) http://stackoverflow.com/questions/2...n-android-loll
Но, на сколько я знаю, изменить цвет можно только начиная с пятого андроида

in4core 08.11.2016 19:22

1) Костя - а почему прям совсем отказаться? Если будет кнопка одноцветная векторная просто красная допустим, или какой то кружек - это проблема? А большие вещи типа столов, фонов - все растр само собой.

2) А как делать без смены, рисовать все боком ?))) или самому перевернуть каждый элемент на 90 градусов? Просто лобби точно надо в портрете, а стол - лендскейп. Посоветуй

3) Спасибо!

Добавлено через 3 минуты
3) точнее не совсем спасибо)))) Куда это все писать ? и какие свойства есть? Можно ли отключить допустим верхнюю панель ( часы-зарядка) , а оставить нижнюю кнопочную? Так как плагины ( ане) дают возможность либо все отключить, либо ничего, а у конкурентов отключается что угодно и цвета задаются. Надо не упасть в грязь лицом))) Андроид 5+ наше все, директора не рассматривают уже андроид 4.4 , так как ему уже 5 года как, а пятый вышел в 13 году - и тоже уже считай старый. Хотя его еще подымем.

Zebestov 08.11.2016 20:36

Цитата:

Сообщение от in4core (Сообщение 1197158)
Можно ли отключить допустим верхнюю панель (часы-зарядка), а оставить нижнюю кнопочную? Так как плагины (ане) дают возможность либо все отключить, либо ничего, а у конкурентов отключается что угодно и цвета задаются.

Как раз обычный fullscreen в дескрипторе уберет только верхнюю панель и оставит нижнюю. Только через ANE можно реализовать immersive mode.

Цитата:

Сообщение от in4core (Сообщение 1197158)
Андроид 5+ наше все, директора не рассматривают уже андроид 4.4, так как ему уже 5 года как, а пятый вышел в 13 году - и тоже уже считай старый. Хотя его еще подымем.

Покажи директорам статистику по версиям андроид. С таким таргетом вы совершаете грубейшую ошибку.

Добавлено через 5 минут
Вот например:
Цитата:

ТОП 10: ВЕРСИИ ANDROID В КАТЕГОРИИ "АРКАДЫ"
Android 4.4 - 28,57 %
Android 6.0 - 20,58 %
Android 5.1 - 16,73 %
Android 5.0 - 12,32 %
Android 4.2 - 8,85 %
Версии 4.4 и 4.2 суммарно набирают 37,42% — не жирно ли разбрасываться такой аудиторией?

in4core 08.11.2016 20:42

Я показал эту https://en.wikipedia.org/wiki/Android_version_history - сказали работает с 5 значит. Да кроме всего прочего, у нас вряд ли будут фичи основанные на версии дроида, скорее на версии эир фичи, а не на дроиде. Поэтому будет работать и под более низкие. А всякие тулбары - это все не так критично, просто хотелось бы подругому.

(Zebestov) - забыл тебя по имени уже соррян, напомни! Обычный фуллскрин на моем 5.1.1 на сони выдал хрень полную - убрал верхнюю паенль и нижнюю, а оставил вместо нижней черный квадрат. При этом stage.stageWidth - выдал как будто нижней панели нет, и растянулся за ней. Пришлось ставить immersive mode

Zebestov 08.11.2016 20:50

Цитата:

Сообщение от in4core (Сообщение 1197162)
Поэтому будет работать и под более низкие. А всякие тулбары - это все не так критично, просто хотелось бы подругому.

Ну, так да, норм ) а то я уж было запереживал за вас.

Цитата:

Сообщение от in4core (Сообщение 1197162)
При этом stage.stageWidth - выдал как будто нижней панели нет, и растянулся за ней. Пришлось ставить immersive mode

Може все же stageHeight? Панель-то внизу, а не сбоку. Но дальше ничего не подскажу, мне еще не доводилось заморачиваться с полным fullscreen-ом.

P.S.
Вадим ))

in4core 08.11.2016 21:00

Вложений: 2
Вадим спасибо! Меня все таки пока что пугает вопрос ориентации про которую Костя высказался, ты что думаешь по этому поводу? И вообще интересно как это делается у многих. Я сейчас полагаю, что надо будет рисовать графику скажем ни вашим ни нашим под 1200 ( ширина кнопки ) и в завимиости от экрана растягивать под ширину. Видимо использовать придется какой нить SHOW_ALL , так как видимо NO_SCALE под любую платформу не сделать.
Для наглядности покажу дизайн портрета и лендскейпа
Вложение 32481
Вложение 32482

Ну вот какие будут советы. СПасибо

Zebestov 08.11.2016 21:05

Согласен с Костей, в пределах одной игры делать разную ориентацию — это крайняк. А тут мне как-то не видно проблем сделать лобби в альбоме.

НО. Если уже таки надо, то технически это удобней делать оставив в дескрипторе такие строки:
Код:

<aspectRatio>landscape</aspectRatio>
<autoOrients>true</autoOrients>

и повернуть контейнер с лобби на 90 градусов.

in4core 08.11.2016 22:46

Вадим - да вот что-то голова не варит как это повернуть на 90 весь контейнер. Он же не по NO_SCALE будет видимо, если как показано на рисунке выше мы хотим, чтобы так выглядело на ЛЮБОМ телефоне, с любым разрешением, без скроллов и прочего

Zebestov 08.11.2016 22:54

Конечно по NO_SCALE. Ты ведь пресекаешь смену ориентации приложения, оно не будет поворачиваться нативным образом. Автоориентацию мы оставили включенной лишь для того, чтобы при повороте устройства на 180 градусов наш альбом тоже перевернулся, это для удобства пользователя. Но сам "альбом" не превратится в "портрет". Значит мы после запуска имеем фиксированную большую ширину и меньшую высоту. От нее и пляшем в резиновой верстке. В базовом варианте опираемся на какую-то среднестатистическую пропорцию и добавляем поля по бокам или сверху-снизу в каждом конкретном случае.

Вся фишка лишь в том, что нужно не забывать брать все координаты и производить прочие манипуляции относительно координатной системы контейнера, который у лобби повернут относительно сцены на 90 градусов.

in4core 08.11.2016 23:50

Ну если я верно понял, делать по но_скейл будет очень сильным и сложным геммороем, но нужным. Получается теперь каждую деталь придется масштабировать вручную пропорционно.
То есть брать допустим разрешение 1920*1080 - рисовать под нее дизайн кнопки, расположить кнопки. Допустим их будет 5 шутк на экране всегда, и если разрешение будет скажем 600*600 , то надо будет программно выстраивать эти 5 кнопок так, чтобы по высоте их уместилось так же 5 шутк, прижется и W и Н считать. А элементов будет куча... и это будет засада, онРесайз превратится в мусорку чую.
Я все верно понял?

Zebestov 08.11.2016 23:56

Не совсем так. Есть много вариантов. Опишу не свой, а один из наиболее легких.

1. Берешь некую наиболее популярную среднюю пропорцию и выстраиваешь основной дизайн так, чтобы все помещалось при таких пропорциях.
2. Но фон делаешь таким, чтобы он имел продолжение во все четыре стороны.
3. На конкретном девайсе смотрит, как разместить твой примерочный прямоугольник со средними пропорциями максимально на данном экране. Ну т.е. как его прижать по возможности плотнее к краям, но при этом не искажать пропорции верстки. Таким образом в одной паре сторон твоя верстка будет прижата вплотную, а в другие стороны продолжится твой фон.
4. На предыдущем пункте можно было бы и остановиться, но можно еще немного пораздвигать к свободным местам приграничные кнопки. Это не так сложно, как кажется.

Godwarlock 09.11.2016 00:09

Должен быть основной контейнер, скажем размером 1920x1080, масштабируешь контейнер со всем содержимым, под размер экрана и профит, через ресайз масштабируется контейнер под разрешение экрана и все вложенные в него дети, также масштабируются под нужный размер. Пропорция сохраняется при любом разрешении устройства, в том числе координаты.

Nooob 09.11.2016 04:25

1. Используй только растр. Именно Bitmap, никакого graphics.beginBitmapFill. И текст тоже лучше в Bitmap. <renderMode>gpu</renderMode>, в этом режиме Bitmap рендериться без флешового блиттинга и будет быстрее. Поиграйся с stage.quality.
2. При выборе разрешения и масштабирования можно долго ковырять, к примеру забавный факт в iPhone6+ картинка 2208x1242 но с даунскейлом до 1920x1080. Так что оптимальнее выбрать фиксированную ширину 1080 с адаптивной высотой при соотношении сторон на устройстве и SHOW_ALL в scaleMode. Либо запастись терпением и делать полностью адаптивный интерфейс с NO_SCALE

Первый экран не годится так как на планшетах 4/3 не влезет, нужно больше оставлять пустого пространства для маневра по высоте

caseyryan 09.11.2016 06:13

Цитата:

Сообщение от Godwarlock (Сообщение 1197174)
Должен быть основной контейнер, скажем размером 1920x1080, масштабируешь контейнер со всем содержимым, под размер экрана и профит, через ресайз масштабируется контейнер под разрешение экрана и все вложенные в него дети, также масштабируются под нужный размер. Пропорция сохраняется при любом разрешении устройства, в том числе координаты.

Ага, и будет у тебя сплошное мыло, если маленькую графику растягивать. А если даунскейлить огромную, на слабых устройствах все это будет стреском "крашиться" из-за нехватки оперативки.

Сань, посмотри лучше как в старлинге реализован скейлинг. Для твоей игры, где нет динамики и кучи графики, старлинг конечно избыточен, но много концепций ты можешь оттуда взять. Все-таки фреймворк изначально заточен под мобилы
Цитата:

Я показал эту https://en.wikipedia.org/wiki/Android_version_history - сказали работает с 5 значит.
Так по этой картинке тоже видно, что 4й самый массовый

Godwarlock 09.11.2016 10:13

Цитата:

Ага, и будет у тебя сплошное мыло, если маленькую графику растягивать. А если даунскейлить огромную, на слабых устройствах все это будет стреском "крашиться" из-за нехватки оперативки.
Не знаю. Дизайн моего проекта делался на основе 1920x1080, приложение тестировалось на 5 разных устройствах и на 1 планшете (некоторые из них с не очень хорошей характеристикой), везде результат хороший, оперативка практически не тратится и крашей не наблюдалось. Ну не каждую же картинку в ручную масштабировать как надо под каждое разрешение

in4core 09.11.2016 11:34

Nooob - под планшеты будет отдельный дизайн и отдельная версия, тут масштабный проект.
Костя, а где собственно посмотреть как он реализован? Я бы взял бы старлинг и не парился, если там все это готово уже.

Цитата:

Так по этой картинке тоже видно, что 4й самый массовый
Не, имеется ввиду, что они уже не поддерживаются и не обновляются, поэтому в канаву их))) как то так рассуждается.

Вадим - спасибо, собстевенно так и делали раньше.

Bletraut 09.11.2016 17:56

Цитата:

2) Как лучше планировать приложение насчет ориентации экрана - предполагается, что есть некое лобби в ПОРТРЕТ, а игра - уже в ЛЕНДСКЕЙП. В связи с этим вопрос, как будет правильно планировать приложение, создать экран для портрет, затем при переходе в игру, сменить ориентацию ( сменяется для всех экранов ), или рисовать графику так,чтобы всегда был лендскейп - но кнопки лобби допустим поворачивать на 90 градусов... кто как делает?
Все проекты реализовывал под одну ориентацию экрана, т.к. когда приходится постоянно поворачивать устройство, чтобы нормально смотреть на приложение - это неудобно.

alatar 09.11.2016 19:41

Цитата:

Сообщение от Zebestov (Сообщение 1197160)
Как раз обычный fullscreen в дескрипторе уберет только верхнюю панель и оставит нижнюю. Только через ANE можно реализовать immersive mode.

Начиная с AIR23 Immersive mode поддерживается из коробки. Правда не без багов, начиная с AIR24 можно будет уже пользоваться.

caseyryan 09.11.2016 19:58

alatar, а что там за баги? Я как раз только скачал бетку 24, хочу попробовать

alatar 09.11.2016 20:04

Когда клавиатура открывается, остается нижний тулбар с кнопками навигации. У некоторых наблюдается черная полоса в том месте гда должен быть тулбар, даже если он скрыт. В 24-й уже что-то фиксили по этому поводу.


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

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