О встраивании активов (изображений) в проект AS3 - PullRequest
0 голосов
/ 16 сентября 2011

Я использую flex sdk 4.5.1 и flash development для компиляции моего проекта AS3.У меня есть небольшие изображения, около 12 КБ, что глупо загружать их с помощью класса Loader, поэтому встраивание - лучшее решение.

Однако, когда эта строка вверху моего Основного класса не закомментирована, я получаю пустое значение swf

[Embed(source = "../assets/gui/play1.png", mimeType = "image/png")]
private var PlayUpImg:Class;

(когда я его комментирую, скомпилированный swf в порядке)

В чем может быть ошибка.Почему я получаю пустой SWF?

Я работаю над чистым проектом AS3 во FlashDevelop

Ответы [ 2 ]

6 голосов
/ 16 сентября 2011

Вы можете попробовать встроить изображение png в произвольные двоичные данные, используя mimetype «application / octet-stream» Тогда вы бы использовали Loader метод loadBytes() объекта для загрузки двоичных данных изображения png. Ниже приведен пример этого:

package
{
    import flash.display.Loader;
    import flash.display.Sprite;
    import flash.events.Event;

    [SWF(width="256", height="256", backgroundColor="#FF0000")]
    public class Main extends Sprite 
    {
        [Embed(source = "assets/ie9.png", mimeType = "application/octet-stream")]
        private var IE9:Class;

        public function Main():void 
        {
            if (stage) init();
            else addEventListener(Event.ADDED_TO_STAGE, init);

        }// end function

        private function init(e:Event = null):void 
        {
            removeEventListener(Event.ADDED_TO_STAGE, init);

            var loader:Loader = new Loader();
            loader.loadBytes(new IE9());
            addChild(loader);

        }// end function

    }// end class

}// end package

[UPDATE]

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

enter image description here

enter image description here

1 голос
/ 16 сентября 2011

Вам необходимо добавить изображение в список отображения:

package
{

    import flash.display.Bitmap;
import flash.display.Sprite;

    public class Main extends Sprite{

        [Embed(source = "../assets/gui/play1.png", mimeType = "image/png")]
        private var PlayUpImg : Class;

        public function Main()
        {
            var myImage : Bitmap = new PlayUpImg();
            addChild( myImage );
        }

    }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...