向addEventListener中传递参数与removeEventListener

sandnon 2010-08-13 11:03:42
如果发错区了....那么请求指路..


因为需要向addEventListener中传递参数,于是我百度并google了一下,得出了下面这个方法。
mc.addEventListener(Event.ENTER_FRAME, function(e:Event){HandlerEnterRollIn(e, index, toX, toY)});

现在问题是..要怎么来removeEventListener...
我试了下下面这个代码
mc.removeEventListener(Event.ENTER_FRAME, function(e:Event){HandlerEnterRollIn(e, index, toX, toY)});trace(mc.hasEventListener(Event.ENTER_FRAME));

然后..trace的永远是true...
请问下要怎么来removeEventListener呢..或者用其他方法来传递参数?
...全文
674 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
CunningBoy 2010-08-13
  • 打赏
  • 举报
回复
function mcListener(e:Event): void{
HandlerEnterRollIn(e, index, toX, toY);
mc.removeEventListener(Event.ENTER_FRAME, mcListener);
trace(mc.hasEventListener(Event.ENTER_FRAME));
}
mc.addEventListener(Event.ENTER_FRAME, mcListener);
sandnon 2010-08-13
  • 打赏
  • 举报
回复
好吧..我受挫了...
我结贴....
sandnon 2010-08-13
  • 打赏
  • 举报
回复
呜..被无视了..
弱弱顶起..
sandnon 2010-08-13
  • 打赏
  • 举报
回复
淡定顶起~
火速遁走~
sandnon 2010-08-13
  • 打赏
  • 举报
回复
谢谢CunningBoy回答,终于有人理了~~
不过可能我表述有点问题..
mc是一系列MovieClip中的一个,因此toX,toY也不是固定的..
于是我多发些代码可能清楚点..

// store用于存储MovieClip对象,Pic1,Pic2,Pic3是导入库中的图像
store = new Array;
var mc1 = new Pic1;
store.push(mc1);
var mc2 = new Pic2;
store.push(mc2);
var mc3 = new Pic3;
store.push(mc3);
// 对三个MovieClip添加事件侦听器
var i:Number;
for(i = 0; i != 3; i++){
var mc:MovieClip = store[i];
mc.x = -225 + (i % 10) * 125 - mc.width / 2;
mc.y = 150 + Math.floor(i / 10) * 112.5 - mc.height / 2;
toX = -175 + (i % 10) * 125 - mc.width / 2;
toY = 206.25 + Math.floor(i / 10) * 112.5 - mc.height / 2;
mc.addEventListener(Event.ENTER_FRAME, function(e:Event){HandlerEnterRollIn(e, i, toX, toY)});

而HandlerEnterRollIn函数是将mc从当前位置缓动到toX,toY.
于是由于不同的mc要配上不同的toX,toY,需要传递参数..

2,278

社区成员

发帖
与我相关
我的任务
社区描述
多媒体/设计/Flash/Silverlight 开发 Flash流媒体开发
社区管理员
  • Flash流媒体开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧