2011-08-31 86 views
0

大概这是一个新手问题:) 但我有一些Flash游戏内置在AS3中。 我想将它导入到Flash Builder 4.5中以创建这些游戏的Andorid iOS版本。将Flash AS3游戏导入到Flash Builder 4.5

是否可以将此游戏导入到Flash Builder中,并运行诸如“为Android编译”之类的内容?

如果可能,我该怎么做?

最佳,弗拉维奥

回答

1
  1. Using Flash Builder 4.5 to package applications for Apple iOS devices
  2. Using Flash Builder 4.5 to package applications for Google Android devices
  3. Using Flash Builder 4.5 to package applications for 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); 
     } 
    } 
} 

或者如果你不想要preloader你可以简单地嵌入你的瑞士法郎。这样的事情:

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); 
     } 
    } 
} 
+0

简单的包装/加载游戏swf +1 –

+0

感谢TheDarkln1978! –