尝试添加EventListener,并单击鼠标移除EventListener。增加一个工作,它是不起作用的。布顿是gall_mc,off是gall_close_mc
gall_mc.addEventListener(MouseEvent.CLICK, scroller);
function scroller(event:MouseEvent):void
{
var verticalCenter:Number = stage.stageHeight / 2;
var limit:Number = stage.stageHeight - galleryHolder.height;
var speed:Number = 0.1;
var scrollY:Number = 0;
stage.addEventListener(Event.ENTER_FRAME, scrollContent);
function scrollContent(e:Event):void
{
scrollY = - speed * (mouseY - verticalCenter);
galleryHolder.y += scrollY;
if (galleryHolder.y>0) { galleryHolder.y= 0;}
else if (galleryHolder.y< limit) { galleryHolder.y= limit; }
}
function eventHandler(event:Event):void
{
event.currentTarget.removeEventListener(Event.ENTER_FRAME, MouseEvent.CLICK.gall_close_mc);
}
}
========
多亏了net.uk.sweet,我组合了我们的代码,它就能工作了!
gall_mc.addEventListener(MouseEvent.CLICK, scroller);
function scroller(event:MouseEvent):void
{
var verticalCenter:Number = stage.stageHeight / 2;
var limit:Number = stage.stageHeight - galleryHolder.height;
var speed:Number = 0.1;
var scrollY:Number = 0;
stage.addEventListener(Event.ENTER_FRAME, scrollContent);
function scrollContent(e:Event):void
{
scrollY = - speed * (mouseY - verticalCenter);
galleryHolder.y += scrollY;
}
gall_close_mc.addEventListener(MouseEvent.CLICK, closeClickHandler);
function closeClickHandler(event:MouseEvent):void
{
stage.removeEventListener(Event.ENTER_FRAME, scrollContent);
}
}
发布于 2014-01-29 00:40:50
gall_close_mc.addEventListener(MouseEvent.CLICK, closeClickHandler);
function closeClickHandler(event:MouseEvent):void
{
// removeEventListener method params are :-
// 1. the event name, 2. the handler you assigned to it
stage.removeEventListener(Event.ENTER_FRAME, closeClickHandler);
}
见 docs。
https://stackoverflow.com/questions/21419500
复制相似问题