一个主项目调用被加载的小游戏SWF项目的方法,并传参数给小游戏项目,注意:被调用的方法是接口,写成public就好
主项目代码:
private var loader:Loader;
public function SwfMethodTest1()
{
loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE,onLoadComplete);
loader.load(new URLRequest("SuperMemory.swf"));
}
protected function onLoadComplete(event:Event):void
{
loader.contentLoaderInfo.removeEventListener(Event.COMPLETE,onLoadComplete);
var swfInfo:LoaderInfo = LoaderInfo(event.target);
var swfClass:Class = swfInfo.applicationDomain.getDefinition("SuperMemory") as Class;
var swfObj:Object = new swfClass();
swfObj.getId([1,2,3,4,5,6,7,8],true);
addChild(DisplayObject(swfObj));
}
小游戏目的主类接口代码:
public class SuperMemory extends Sprite
{
//外部传递进来的所有图片id,此数组作为基础数据,不会被改动
private var idArray:Array= new Array();
private var isPhoto:Boolean = false;
//将要显示在游戏视图上的图片的vo列表
private var playPicVOList:Array;
private var gameView:GameView;
public function SuperMemory()
{
// start([1,2,3,4,5,6,7,8],true);
}
public function start(arr:Array,boo:Boolean):void
{
idArray = arr;
isPhoto = boo;
}
外部调用start方法即可