如果没有监听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!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!") 基于AS3的休闲英雄联盟游戏设计+文献综述(6):http://www.751com.cn/jisuanji/lunwen_2345.html