Загрузка растрового изображения из флэш-библиотеки - PullRequest
0 голосов
/ 07 февраля 2010

OK !! Я создал игру, которая захватывает tileSheet (растровое изображение) и некоторые xml-файлы из внешнего источника (не из библиотеки). Оказывается, это плохая идея, если я хочу опубликовать свою игру на большинстве сайтов. Потому что большинство сайтов дают мне возможность загружать только один файл. СЕЙЧАС, мне нужно найти альтернативу.

Я пытался сделать междоменную вещь, но это было болезненно, потому что я столкнулся с некоторыми проблемами безопасности, в которых я не знаю, как справиться. Я сделал отдельный пост для этой проблемы, с моим кодом в нем. Но теперь мне нужно знать, есть ли лучшая надежда.

Имеет смысл, что, возможно, я мог бы загрузить растровое изображение из библиотеки. Если кто-нибудь знает, как, то, пожалуйста, поделитесь. Но как насчет ситуации XML? я в значительной степени облажался, когда дело доходит до этого ?? Разве нельзя построить игру, которая читает файл xml и растровые изображения из одного файла?

Ответы [ 3 ]

1 голос
/ 07 февраля 2010

Вы говорите о встраивании изображения и некоторого XML в ваш файл .swf? Я полагаю, что для этого требуется mxmlc.

Для изображения (AS3):

[Embed(source='image.png')]
private var myImage:Class;
private var ball1:Bitmap = new myImage();

Для некоторых XML (AS3):

private var myXML:XML = <rootNode><anotherNode someProp="foo"/></rootNode>
1 голос
/ 07 февраля 2010

Вы хотите встроить изображения и файл XML в SWF.

[Embed(source="../assets/mytiles.bmp")]
var MyTiles:Class;

// When you need the Bitmap:
var myTiles:Bitmap = new MyTiles();

Вам потребуется использовать mxmlc, который поставляется с Flex SDK.

Дополнительная информация: Встраивание практически всего в ваш SWF , Adobe Flex 3 Help: Встраивание типов активов

Редактировать: Использование Flex SDK с Flash CS4 описывает, как настроить Flash CS4, чтобы можно было использовать функции Flex, такие как тег Embed. Я не думаю, что CS3 имеет эквивалентную функцию; вам нужно будет выполнить компиляцию вручную или с помощью внешней IDE, например FlashDevelop .

0 голосов
/ 07 февраля 2010

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

Да, вам придется загружать все изображения, которые вам понадобятся для использования в будущем, поэтому, если у вас игра с 50 уровнями, и большинству пользователей нужны только изображения, использованные в первых 20, вам нужно будет загрузить все. Хотя есть способ обойти это, это довольно сложно.

Еще одна приятная вещь в этих SWC состоит в том, что у вас может быть 20 из них, каждый из которых имеет различные активы, и звоните им, когда захотите. Например, у меня есть библиотека SWC, которая содержит все компоненты. Гибкий компилятор отправит только необходимое вам содержимое в последнем SWF, поэтому, если у вас есть ресурсы в SWC, которые вы не используете, они не будут раздувать ваш файл без необходимости.

Вы также обнаружите, что многие библиотеки теперь доступны в формате SWC, например, API Google.

...