Question

Trying to add an EventListener, and Remove an EventListener with a mouse click. adding one works, anding it is not working. on buton is gall_mc and off is 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);     
    }


}
========

Thanks to net.uk.sweet I combined our code and it works!

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);
    }



}
Était-ce utile?

La solution

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);
}

See EventDispatcher docs.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top