Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Embed по человечески (http://www.flasher.ru/forum/showthread.php?t=177924)

Azo 11.04.2012 16:51

Embed по человечески
 
Собираю игрушку для ipad\iphone (но это не суть)
и там вся графика это Bitmap (Советую работать с Bitmap, потому что процессор хуже работает с вектором)

Вот загружаю картинки
Код AS3:

[Embed(source = "fon1.png")]private var Fon1:Class;
[Embed(source = "fon2.png")]private var Fon2:Class;

Да, Flash теперь поддерживает графическое ускорение, ускорение процессором.. НО это ускорение никак не затрагивает момент загрузки Source , оно касается только перемещений объектов и анимации всякой...

Так вот.. Как сделать загрузку (а для iso только embed методом) чтобы я знал когда картинка загрузится и какой сейчас прогресс загрузки ( как в случаи с loader)
Чтобы мог повесить прелоадер.... А то между переключениями экрана задержка с черным экранам достигает 10 секунд =(

ramshteks 11.04.2012 17:08

насколько я знаю метатег Embed, не делает никаких загрузчиков, а встраивает графику в библиотеку. Так что стоит оптимизировать процесс начальной инициализации вашего экрана.

fljot 11.04.2012 17:12

Цитата:

Сообщение от Azo (Сообщение 1074434)
Как сделать загрузку (а для iOS только embed методом) чтобы я знал когда картинка...

Нет, на iOS картинки можно грузить Loader'ом как обычно. Это SWF грузить с кодом не получится. Так что упаковывайте картинки в приложение (adt -C image.jpg или adt -C folder, в итоге файл будет лежать в File.applicationDirectory) и грузите их как обычно.

Azo 11.04.2012 17:14

Код:

adt -C image.jpg или adt -C folder
респект тебе! и где вычитал )

fljot 11.04.2012 17:17

Ну самые старые основы же

Azo 11.04.2012 17:30

странно.. но PackegeApp.bat ругается на -C

Добавлено через 1 минуту
вот весь код
Код:

if not exist "%CERT_FILE%" goto certificate
:: Output file
set FILE_OR_DIR=%FILE_OR_DIR% -C "%ICONS%" .
if not exist "%DIST_PATH%" md "%DIST_PATH%"
set OUTPUT=%DIST_PATH%\%DIST_NAME%%TARGET%.%DIST_EXT%
:: Package
echo Packaging: %OUTPUT%
echo using certificate: %CERT_FILE%...
echo.
call adt -C C:\Documents and Settings\a.mamoyan\Application Data\air.Beaver\Local Store\
echo.
call adt -package -target %TYPE%%TARGET% %OPTIONS% %SIGNING_OPTIONS% "%OUTPUT%" "%APP_XML%" %FILE_OR_DIR%
echo.
if errorlevel 1 goto failed
goto end

добавил только
call adt -C C:\Documents and Settings\a.mamoyan\Application Data\air.Beaver\Local Store\

fljot 11.04.2012 17:33

Ну это ж один из аргументов, а не отдельный вызов должен быть
http://help.adobe.com/en_US/air/buil...935b-8000.html

Azo 11.04.2012 17:37

как раз тоже читаю
http://help.adobe.com/ru_RU/air/buil...935b-8000.html

значит чтобы упаковать все картинки надо
adt –package -storetype pkcs12 -keystore images
?

fish_r 11.04.2012 18:31

Можно смотреть свойство loaderInfo.bytesLoaded объекта в котором ембед, по событию EnterFrame, например, и дальше... хоть прогрессбар, хоть что...

Azo 11.04.2012 18:49

Цитата:

Сообщение от fish_r (Сообщение 1074453)
Можно смотреть свойство loaderInfo.bytesLoaded объекта в котором ембед, по событию EnterFrame, например, и дальше... хоть прогрессбар, хоть что...

Да, но при этом ведь onEnterFrame всегда равен 0... =) в смысле флешка подвисает на момент загрузки картинки

fish_r 11.04.2012 18:53

Цитата:

Сообщение от Azo (Сообщение 1074456)
Да, но при этом ведь onEnterFrame всегда равен 0... =) в смысле флешка подвисает на момент загрузки картинки

неа, ничего не подвисает, и вам не важен номер кадра, это вообще не нужно, нужно просто ловить событие ENTER_FRAME или EXIT_FRAME и по нему смотреть - сколько байтов загружено от общего числа ( это же работает и в много кадровых мувиках, там да - можно узнать какой именно кадр уже загрузился, но это не совсем по данной теме... ).

Azo 11.04.2012 19:25

Как выяснилось в starling framework который я использую.. нет byteLoaded =( поэтому это пролетает

fljot 11.04.2012 19:31

Не понимаю, зачем вы FD-вцы пользуетесь виндусовыми батниками, когда есть кроссплатформенный красивый и мощный ant. Точного синтаксиса bat не знаю, но вроде того:
Код:

:: Output file
set FILE_OR_DIR=%FILE_OR_DIR% -C "%ICONS%" .
set FILE_OR_DIR=%FILE_OR_DIR% -C "%полный-путь-до-папки-с-ассетами%" images

А это
Код:

call adt -C C:\Documents and Settings\a.mamoyan\Application Data\air.Beaver\Local Store\
убрать нафиг.

И для загрузки не надо никаких File.applicationStorageDirectory. Просто new URLRequest("images/image1.jpg")

Azo 11.04.2012 19:53

может так?

set IOS_IMAGES=Images

//где Images это папка в которой несколько папок с картинками

Код:

:: Output file
set FILE_OR_DIR=%FILE_OR_DIR% -C "%ICONS%" .
set FILE_OR_DIR=%FILE_OR_DIR% -C "%IOS_IMAGES%".


fljot 11.04.2012 20:10

Вы по той ссылке всё-таки внимательно всё посмотрите, там есть конкретный пример с конкретно взятой файловой структурой.

Azo 11.04.2012 20:58

Да всяко пробовал - все времья ошибки..

вот полный код батника

Код:

@echo off

if "%PLATFORM%"=="android" goto android-config
if "%PLATFORM%"=="ios" goto ios-config
if "%PLATFORM%"=="ios-dist" goto ios-dist-config
goto start


:android-config
set CERT_FILE=%AND_CERT_FILE%
set SIGNING_OPTIONS=%AND_SIGNING_OPTIONS%
set ICONS=%AND_ICONS%
set DIST_EXT=apk
set TYPE=apk
goto start

:ios-config
set CERT_FILE=%IOS_DEV_CERT_FILE%
set SIGNING_OPTIONS=%IOS_DEV_SIGNING_OPTIONS%
set ICONS=%IOS_ICONS%
set DIST_EXT=ipa
set TYPE=ipa
goto start

:ios-dist-config
set CERT_FILE=%IOS_DIST_CERT_FILE%
set SIGNING_OPTIONS=%IOS_DIST_SIGNING_OPTIONS%
set ICONS=%IOS_ICONS%
set DIST_EXT=ipa
set TYPE=ipa
goto start


:start
if not exist "%CERT_FILE%" goto certificate
:: Output file
set FILE_OR_DIR=%FILE_OR_DIR% -C "%ICONS%" .
if not exist "%DIST_PATH%" md "%DIST_PATH%"
set OUTPUT=%DIST_PATH%\%DIST_NAME%%TARGET%.%DIST_EXT%
:: Package
echo Packaging: %OUTPUT%
echo using certificate: %CERT_FILE%...
echo.
call adt -package -target %TYPE%%TARGET% %OPTIONS% %SIGNING_OPTIONS% "%OUTPUT%" "%APP_XML%" %FILE_OR_DIR%
echo.
if errorlevel 1 goto failed
goto end

:certificate
echo Certificate not found: %CERT_FILE%
echo.
echo Android:
echo - generate a default certificate using 'bat\CreateCertificate.bat'
echo  or configure a specific certificate in 'bat\SetupApplication.bat'.
echo.
echo iOS:
echo - configure your developer key and project's Provisioning Profile
echo  in 'bat\SetupApplication.bat'.
echo.
if %PAUSE_ERRORS%==1 pause
exit

:failed
echo APK setup creation FAILED.
echo.
echo Troubleshooting:
echo - did you build your project in FlashDevelop?
echo - verify AIR SDK target version in %APP_XML%
echo.
if %PAUSE_ERRORS%==1 pause
exit

:end



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

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