将Flash AS3游戏导入到Flash Builder 4.5
问题描述:
大概这是一个新手问题:) 但我有一些Flash游戏内置在AS3中。 我想将它导入到Flash Builder 4.5中以创建这些游戏的Andorid iOS版本。将Flash AS3游戏导入到Flash Builder 4.5
是否可以将此游戏导入到Flash Builder中,并运行诸如“为Android编译”之类的内容?
如果可能,我该怎么做?
最佳,弗拉维奥
答
- Using Flash Builder 4.5 to package applications for Apple iOS devices。
- Using Flash Builder 4.5 to package applications for Google Android devices。
- 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);
}
}
}
简单的包装/加载游戏swf +1 –
感谢TheDarkln1978! –