Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flash Приложения: AIR, Zinc и тд. (http://www.flasher.ru/forum/forumdisplay.php?f=94)
-   -   Ресурсы приложения (http://www.flasher.ru/forum/showthread.php?t=173914)

am_devcorp 13.01.2012 22:59

Ресурсы приложения
 
Допустим, я пишу айр-приложение. Частью гуи являются несколько картинок в png. Как мне сделать так, что бы при создании установочного пакета эти картинки попали в него тоже? И куда они попадут после установки?
--
Да, пишу я в FD, поэтому заливка их в библиотеку как во flash cs* не прокатит. Есть мнение создать svc-файлик с нужными картинками и подключить. Но мне кажется, что это не айс

HardCoder 13.01.2012 23:09

Есть такая прелестная штука, как мета-тег Embed
Код AS3:

[Embed(source="адрес картинки/mypicture.jpg")]
private var Pic:Class;
 
var picture:Bitmap = new Pic();
addChild(picture);

С такой конструкцией - ваша картинка будет вкомпилирована в проект.

am_devcorp 13.01.2012 23:13

О, круто. Ща попробую

PikseL 14.01.2012 11:55

Не знаю, как у вас, а у меня при сборке AIR-проекта во FlashDevelop в дистрибутивный файл запаковываются все папки и файлы, содержащиеся в папке bin (где лежит аировская swf-ка).

И svc очень даже айс во многих случаях.

И embed вариант.

Всё хорошо в определенных ситуациях.

HardCoder 14.01.2012 12:20

Цитата:

Сообщение от PikseL (Сообщение 1056766)
запаковываются все папки и файлы, содержащиеся в папке bin (где лежит аировская swf-ка).

Это нужно в тех случаях, когда файлы подгружаются с помощью Loader-а. Но так, как am_devcorp подал идею об swc (не совсем ясно что именно имел в виду топикстартер), то я понял о внедрении, а не о загрузке. swc как и Embed не имеют отношения к подгрузке ресурсов во время выполнения с помощью Loader.
Я всегда так делаю:
Мувиклипы (разную анимацию) пакую в swc.
Картинки, шрифты и музыку внедряю через Embed.
Loader использую при загрузке контента с сервера.

Добавлено через 4 минуты
Хотя, бывают случаи когда действительно слишком много контента, которого внедрять не требуется, а требуется лишь иногда подгружать его в эйр-приложениях, то совет PikseL - само то что нужно.

Wolf 15.01.2012 03:58

я работаю в flash cs 5. делаю обычную флэшку с програмным интерфейсом. у меня многие части интерфейса - картинки. можно ли запаковать их в флэшку?

Добавлено через 5 минут
у меня была идея програмно анализировать картиники и цвет каждого пикселя, а потом програмно создавать картинку с помощью bitmap. но она немного дурацкая

PikseL 15.01.2012 10:03

Цитата:

можно ли запаковать их в флэшку?
Конечно! В library создавайте классы картинок и используйте их в коде.

Wolf 15.01.2012 18:05

Вложений: 1
вот такая проблема

PikseL 15.01.2012 19:14

По этой проблеме - нет такого конструктора (без аргументов) у этого класса. Так-то он вообще именно это и написал. Вот конструктор для BitmapData: BitmapData(width:int, height:int, transparent:Boolean = true, fillColor:uint = 0xFFFFFFFF). Т.е. размеры обязательны.

Но изображения инициируются Bitmap'ом вроде, а не BitmapData?

Wolf 15.01.2012 19:26

флеш среда говорит что надо использовать BitmapData. если использую Bitmap то говорит что надо использовать BitmapData

am_devcorp 16.01.2012 00:52

Цитата:

Сообщение от HardCoder (Сообщение 1056769)
(не совсем ясно что именно имел в виду топикстартер

Я имел в виду, что
1) закидываю картинку в библиотеку
2) назначаю ей связывание
3) экспортирую .swc либу
4) подключаю её в FD
5) юзаю класс, который я создал в флеше.

много движений, однако

HardCoder 16.01.2012 00:55

Согласен - много движений. Это подойдет для анимации. Картинки лучше "эмбедить".

Wolf 16.01.2012 02:15

Код AS3:

[Embed(source = "buttons.png")] private var Pic:Class;

не хочет работать. использую flash builder

HardCoder 16.01.2012 02:45

Вы уверены, что правильно прописали путь к файлу?

Wolf 16.01.2012 03:06

Вложений: 1
да.
Код AS3:

img.load(new URLRequest("buttons.png"));

работает без проблем.

Wolf 16.01.2012 15:36

flash develop и adobe flash cs 5 вобще поддерживают этот тег?

DaFive 16.01.2012 17:33

Вам как компилировать надо? Смысл использовать тег embed, если вы собираете проект во Flash IDE? На сцену нельзя перекинуть или в библиотеке линкедж прописать?

Wolf 16.01.2012 18:45

мне надо вшить эту картинку во флешку. нет сцены во flash develop

Добавлено через 51 секунду
да и alternativa использует этот тег и некоторые ее функции не хотят работать

HardCoder 16.01.2012 21:35

Судя по скрину - товарищ скорее всего работает в ФД. А почему не работает? Какие ошибки выдает? В каком месте кода прописываете тег? Говорите - адрес правильно прописали... Тогда зачем картинку кидаете в папку srs? Судя по этому адресу "buttons.png" - у вас картинка находится в папке srs в главном пакете - в месте где должны быть только классы и ничего больше.

Добавлено через 2 минуты
На счет ошибок поспешил - там же есть скрин :)
Вы просто неправильно написали адрес. Справа на панели Project найдите вашу картинку и клацните по ней правой кнопкой мыши. Выберите "Generate embed code" и программа сама вставит тег с правильным путем к файлу.

Wolf 16.01.2012 22:14

теперь понятно. заработало.
Код AS3:

[Embed(source = "../lib/buttons.png")] private var pic:Class;

как теперь управлять этим изображением и добавить его на экран? оно ведь не потомок display

HardCoder 16.01.2012 22:19

Код AS3:

var myPicture:Bitmap = new pic();
addChild(myPicture);



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

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