Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   FlashDevelop: Air для Android (http://www.flasher.ru/forum/showthread.php?t=179597)

Ne_mesis 17.05.2012 22:06

FlashDevelop: Air для Android
 
Приветствую!
Заинтересовал новый тип проекта "AIR mobile app AS3" в FlashDevelop 4.0, решил попробовать.
С настройками публикации более-менее разобрался, apk собирается нормально. Вот теперь есть несколько вопросов - при запуске из FD привычный FD дебаггер отваливается - оно вроде и понятно, желаемо подключать девайс и тестить на нём.
1. Есть ли для этого дела какие-нибудь эмуляторы, чтоли? В общем, девайса с андроидом у меня нет, а дебажить как-то надо.
2. Собранная apk на андроиде требует AIR. Вроде тоже логично, но можно как-то без него обойтись? Или, скажем, вшить какие-то его куски в билд. В этих технологиях я не шарю - так что если мои мечтания полный бред, так и скажите.
3. И вот ещё какая штука - спрашиваю у приложения stage.stageWidth, stage.stageHeight - говорит, что 480,720 согласно параметрам проекта. Говорю картинке img.height= stage.stageHeight; а результат такой.
http://cs316722.userapi.com/v3167221...BGUiejOTM0.jpg

Искажений не наблюжается, стало быть всё верно. Но как??? И как тогда узнать реальный размер сцены, на конкретном девайсе.

stweet 17.05.2012 23:01

Где то я находил ответ на данный вопрос, но что то у меня во всех проектах под андройд используется такой вариант:
Код AS3:

bmd.scaleX = stage.stageWidth / bmd.width;
bmd.scaleY = stage.stageHeight / bmd.height + 0.1;

Я так понимаю эта область под меню панель.

Ne_mesis 18.05.2012 00:08

bmd.scaleY = stage.stageHeight / bmd.height + 0.1;, однако Щ_щ
У меня всё по 1:1, о чём и говорю. Вообще, stage.stageHeight по видимому не является реальным физическим размером девайса, тестили на планшетнике - выдаются всё те же установленные проектом 720.

silin 18.05.2012 10:03

не особо конкретно (только краем касался темы), но что знаю
эмуляторы:
http://aimedsoft.com/en/android/howto/57-andemul
http://4pda.ru/forum/index.php?showtopic=307509
сам щупал только тот, что в Android_sdk, ощущения самые отвратительные

встраивание среды в apk:
по идее в FD-шном проекте это опция сборщика: apk-captive-runtime (в PackageApp.bat)
сам не пробовал

размеры:
у меня корректно показывало по stage.addEventListener(Event.RESIZE, stage_resize), и на девайсах и в ADL

Добавлено через 5 часов 40 минут
Код AS3:

[SWF(width="720", height="480")]
public class Main extends Sprite
{
 
        public function Main():void
        {
                trace( "CTOR: stageWidth : " + stage.stageWidth );
                stage.addEventListener(Event.RESIZE, stage_resize);
        }
 
        private function stage_resize(e:Event):void
        {
                trace( "RESIZE: stageWidth : " + stage.stageWidth );
        }
}
/*
CTOR:stage.stageWidth : 720
RESIZE:stage.stageWidth : 200 (set SCREEN_SIZE=200x200:200x200 в Run.bat)
*/


Ne_mesis 20.05.2012 17:39

Друзья, моему негодованию и непониманию нет предела...
Вынес изменение размеров картиночки в отдельную функцию
Код AS3:

                private function setSceneSize(): void
                {
                        Back.scaleX = stage.stageWidth / Back.width;
                        Back.scaleY= stage.stageHeight/Back.height;
                }

которая запускается с самого начала - никакого результата... Пробую выполнить функцию позже - и всё работает, как в сказке!
Единственный вывод, который могу сделать - это действительно место для "програмного интерфейса", которое изначально зарезервировано.

Ne_mesis 10.07.2012 15:17

Друзья, тема не заглохла! Так что продолжаем разбираться.
1. Полоса снизу действительно место под системные иконки - как до них докопатся и вызвать, пока неясно.
2. встраивание AIR в apk:
"по идее в FD-шном проекте это опция сборщика: apk-captive-runtime (в PackageApp.bat)" - спасибо silin! Работает, хоть и несколько странно.
3. Вопрос дебага и нормального запуска по прежнему стоит очень остро. Android'ного устройства не имею, нужно как-то тестить акселерометр.
Так что, прошу советовать - как быть в такой ситуации.

Bgg 10.07.2012 15:50

Цитата:

Сообщение от Ne_mesis (Сообщение 1088080)
3. Вопрос дебага и нормального запуска по прежнему стоит очень остро. Android'ного устройства не имею, нужно как-то тестить акселерометр.
Так что, прошу советовать - как быть в такой ситуации.

http://stackoverflow.com/questions/3...droid-emulator

Ne_mesis 19.07.2012 00:32

Продолжаю удивлятся и непонимать технологию...
Как я понял, связка ПО акова:
Android SDK (AndroidVirtualDevice manager + SDK manager) + SensorSimulator(предложенный выше Bgg) + Eclipse = запуск "исходника" из самого эклипса. Т.к. тема гласит "FlashDevelop: Air для Android", такая связка ПО неподходит.
По советам сверху пробовал BlueStacks с SensorSimulator (это что-то вроде плагина для того, чтобы акселерометр работал) - вроде бы что-то как-то работало. Сама аппликуха через раз запускалась точно!
_______________________________________________________________________
В общем, друзья дали поюзать телефон. На этом пока конец истории.

kackbip 19.07.2012 07:04

Любой апк можно устанавливать с помощью андроид сдк: adt install <apk_name>
Сначала нужно установить AIR, затем ваше приложение.
Вполне допустимо использовать родной андроид эмулятор. Но он довольно тормозной.

АПД: на эмуляторе не работает гугл плей(аппстор), так что где-то нужно достать air apk. Вероятно где-то у FlashDevelop-а этот apk есть, раз он умеет его устанавливать.

Zebestov 19.07.2012 11:09

Цитата:

Сообщение от Ne_mesis (Сообщение 1080083)
И вот ещё какая штука - спрашиваю у приложения stage.stageWidth, stage.stageHeight - говорит, что 480,720 согласно параметрам проекта. Говорю картинке img.height= stage.stageHeight; а результат такой.

И что, совершенно не смутило, что высота картинки таки 720, как ей и сказали ))
Заходим в [твое имя проекта]-app.xml и видим, что там оказывается <fullScreen>false</fullScreen>. И сразу все становится понятно. Эмулятор эмулирует девайс размером 480х800. Из этого размера в неполноэкранном режиме приложению выделяется его 480х720, что и видно по трейсам и внешнему виду. Все честно.


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

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