Импорт игры Flash AS3 в Flash Builder 4.5 - PullRequest
0 голосов
/ 31 августа 2011

Вероятно, это вопрос новичка :) Но у меня есть несколько Flash-игр, встроенных в AS3.И я хочу импортировать его в Flash Builder 4.5 для создания Android-версии этих игр для Android.

Можно ли импортировать эти игры в Flash Builder и просто запустить что-то вроде «compile for Android»?

Если это возможно, как я могу это сделать?

Best, Flavio

1 Ответ

1 голос
/ 31 августа 2011
  1. Использование Flash Builder 4.5 для упаковки приложений для устройств Apple iOS .
  2. Использование Flash Builder 4.5 для упаковки приложений для устройств Google Android .
  3. Используя Flash Builder 4.5 для упаковки приложений для BlackBerry Tablet OS .

, если большая часть или все ваши .swf были созданы на временной шкале вместо переносимого кода, выможно просто создать оболочку и / или предварительный загрузчик, чтобы загрузить этот .swf и добавить его в список отображения.что-то вроде этого:

package
{
    //Imports
    import flash.display.Loader;
    import flash.display.Sprite;
    import flash.display.StageAlign;
    import flash.display.StageScaleMode;
    import flash.events.Event;
    import flash.events.ProgressEvent;
    import flash.net.URLRequest;

    //Class
    [SWF(backgroundColor = "0x444444")]
    public class SwfAirWrapper extends Sprite
    {
        //Constructor
        public function SwfAirWrapper()
        {
            stage.scaleMode = StageScaleMode.NO_SCALE;
            stage.align = StageAlign.TOP_LEFT;
            stage.frameRate = 60;

            init();
        }

        //Initialize
        private function init():void
        {
            var swfLoader:Loader = new Loader();
            swfLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, loaderCompleteEventHandler);
            swfLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, loaderProgressEventHandler);
            swfLoader.load(new URLRequest("MyGame.swf");
        }

        //Loader Progress Event Handler
        private function loaderProgressEventHandler(evt:ProgressEvent):void
        {
            //preloader stuff goes here
            //IE: evt.bytesTotal / evt.bytesLoaded * 100)
        }

        //Loader Complete Event Handler
        private function loaderCompleteEventHandler(evt:Event):void
        {
            //Load complete stuff goes here
            //IE: addChild(evt.currentTarget.content);
        }
    }
}

или, если вам не нужен предварительный загрузчик, вы можете просто вставить свой SWF.как то так:

package
{
    //Imports
    import flash.display.DisplayObject;
    import flash.display.Sprite;
    import flash.display.StageAlign;
    import flash.display.StageScaleMode;

    //Class
    [SWF(backgroundColor = "0x444444")]
    public class SwfAirWrapper extends Sprite
    {
        //Variables
        [Embed(source = "mySwf.swf")]
        private var EmbeddedSwf:Class;

        //Constructor
        public function SwfAirWrapper()
        {
            stage.scaleMode = StageScaleMode.NO_SCALE;
            stage.align = StageAlign.TOP_LEFT;
            stage.frameRate = 60;

            init();
        }

        //Initialize
        private function init():void
        {
            var mySwf:DisplayObject = new EmbeddedSwf();
            addChild(mySwf);
        }
    }
}
...