flash as3.0移除侦听器问题

我用removeListener老是出错老是提示我removeListener没定义是什么原因啊... 我用removeListener 老是出错 老是提示我removeListener 没定义 是什么原因啊 展开
 我来答
手机用户81850
2011-09-25 · TA获得超过263个赞
知道答主
回答量:342
采纳率:0%
帮助的人:168万
展开全部
从专业角度来说,用flash as 开发东西,基本上不用场景(可能动画短片制作时会方便一引起)。因为所谓场景其实就是把一个时间轴上的东西拆开分成几段而矣,因此你场景1里的代码当然会在场景2的时候依然运行。
你写的代码不专业,建议使用修改如下的代码:

var startArray:Array = new Array;

stage.addEventListener(Event.ENTER_FRAME, csXX1);
function csXX1(e:Event):void {

var XX1 = new XX ;
////////////////////////////////////////////////////////////////
startArray.push(XX1);
////////////////////////////////////////////////////////////////
XX1.scaleX = XX1.scaleY = 0.2;
XX1.x = 550 * Math.random();
XX1.y = 440 * Math.random();
stage.addChild(XX1);
XX1.addEventListener(Event.ENTER_FRAME, ycXX1);
}
function ycXX1(e:Event):void {

var mc = e.target as MovieClip;
if (stage.numChildren > 50) {
mc.removeEventListener(Event.ENTER_FRAME, ycXX1);
stage.removeChild(mc);
}
}
我加了一句 代码
////////////////////////////////////////////////////////////////
var startArray:Array = new Array;

startArray.push(XX1);
////////////////////////////////////////////////////////////////
目的是将你所产生的星星都用数组管理。以便以后处理。

然后,如果想将场景1的代码移除的办法,就是在场景2的第一帧加一段删除代码即可,如下:
stage.removeEventListener(Event.ENTER_FRAME, csXX1);//目的是不再让星星产生。
for(var i:int = 0; i < startArray.length; i++) {
startArray[i].removeEventListener(Event.ENTER_FRAME, ycXX1);//目的是将之前所产生的星星的时时运行的侦听器也删除。
stage.removeChild(startArray[i]);
}
这样就可以了,在场景2第一帧加上这么一段程序,就可以删除前面产生的东西了。

如果有相关flash as3的问题的话,可以关注一下

里面有展示与案例源文件下载。

网站还在成长,相信能给你一定的帮助
sbin2565317
2011-09-25 · TA获得超过204个赞
知道小有建树答主
回答量:259
采纳率:100%
帮助的人:183万
展开全部
好像应该是 removeEventListener 你写的是不是少中间的"Event"啊?
对象.removeEventListener (事件,处理过程)
例:
mc. addEventListner(MOUSEEVENT_CLICK, onClick);
..........
mc.removeEventListner(MOUSEEVENT_CLICK, onClick)
也就是说,添加的时候如何写的参数,移除的时候参数完全写成一样
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
朴实又可爱的小桃花n
2011-09-25 · TA获得超过824个赞
知道小有建树答主
回答量:278
采纳率:0%
帮助的人:258万
展开全部
removeEventListener
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zjx_love
2011-09-25 · TA获得超过305个赞
知道小有建树答主
回答量:1019
采纳率:0%
帮助的人:427万
展开全部
实例.removeEventListener(事件类型,方法)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式