基于AS3的休闲英雄联盟游戏设计+文献综述(6)
时间:2017-01-16 20:31 来源:毕业论文 作者:毕业论文 点击:次
如果没有监听Event.ADDED_TO_STAGE就可能会出现报错或找不到舞台的情况。 如图3.3所示: 图3.3 游戏登录 5.监听按钮的时候可用通过判断元件的实例名来区分按钮,这样能省下为每个按钮元件一个一个添加点击监听。 stage.addEventListener(MouseEvent.CLICK,OnClick) //对舞台添加点击事件 protected function OnClick(e:MouseEvent):void //触发点击事件时运行 { if(e.target.name=="btn1") //鼠标点击的对象名字是不是”btn1” { Trace(“btn1”) //在控制台输出”btn1” } if(e.target.name==" btn2")//鼠标点击的对象名字是不是”btn2” { Trace(“btn2”) //在控制台输出”btn2” } if(e.target.name==" btn3") //同上 { Trace(btn3) } } 这样就能用一个addEventListener(MouseEvent.CLICK,OnClick),去监听多个按钮,但也要避免出现e.target为空的情况出现。 6.登录之后如何使游戏swf文件加载其他的swf文件并添加到舞台上。 通过这两行对load添加监听: load.contentLoaderInfo.addEventListener( Event.COMPLETE , onComplete ) load.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR,onError) 这样在接下来load加载的swf成功的话则会运行onComplete方法,出错的话则运行onError方法。 通过load.load(new URLRequest("Data.swf"))来执行加载同级目录下的Data.swf文件。 function onError(e:IOErrorEvent):void //如果报错执行 { trace("onError!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!") } function onComplete(e:Event):void //如果成功执行 { stage.removeChild(loadingView) //从舞台上删除loadingView元件 loadingView=null //从内存中清除元件 load.contentLoaderInfo.removeEventListener(Event.COMPLETE,onComplete) //删除之前添加的监听 load.contentLoaderInfo.removeEventListener(IOErrorEvent.IO_ERROR,onError) //删除之前添加的监听 trace("onComplete!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!") (责任编辑:qin) |