Как удалить прослушиватель событий из дочерних элементов в родительском мувиклипе в as3 - PullRequest
0 голосов
/ 13 марта 2011

Я создал прослушиватели событий для определенного мувиклипа. Внутри этого мувиклипа есть так много объектов. Когда я нажимаю на родительский мувиклип, слушатель события вызывает функцию для дочернего объекта. Я пытался removeEventLIstener()

import flash.display.MovieClip;
import flash.events.Event;
import flash.events.MouseEvent;

var info:MovieClip=new MovieClip();

info.graphics.beginFill(0x000000,0.35);
info.graphics.drawCircle(0,0,300);
var mc:MovieClip=new MovieClip();
mc.graphics.beginFill(0x000000,0.5);
mc.graphics.drawCircle(0,0,30);
this.addChild(info);
mc.x=0;
mc.y=0;
info.x=stage.stageWidth/2
info.y=stage.stageHeight/2;
info.addChild(mc);
mc.addEventListener(MouseEvent.CLICK,msclick);
function msclick(e:MouseEvent):void{
    e.target.removeChild(e.target.parent);}

я хочу удалить родителя mc

Ответы [ 2 ]

1 голос
/ 13 марта 2011

Чтобы удалить экранный объект mc из его родительского объекта, вы можете сделать следующее:

function onMCClick(e:MouseEvent):void
{
    var target:DisplayObject = e.target as DisplayObject;
    var parent:DisplayObjectContainer = target.parent;

    parent.removeChild(target);

}// end function

Вы также можете удалить прослушиватель событий, добавленный к целевому объекту, выполнив следующие действия:

function onMCClick(e:MouseEvent):void
{
    var target:DisplayObject = e.target as DisplayObject;

    target.removeEventListener(MouseEvent.CLICK,onMouseClick);

}// end function
0 голосов
/ 14 марта 2011

НАКОНЕЦ Я ПОЛУЧИЛ ОТВЕТ ... СПАСИБО ПАРНИ ..........

import flash.display.MovieClip;импорт flash.events.Event;импорт flash.events.MouseEvent;

var info:MovieClip=new MovieClip();

info.graphics.beginFill(0x000000,0.35);
info.graphics.drawCircle(0,0,300);
var mc:MovieClip=new MovieClip();
mc.graphics.beginFill(0x000000,0.5);
mc.graphics.drawCircle(0,0,30);

this.addChild(info);
mc.x=0;
mc.y=0;
info.x=stage.stageWidth/2
info.y=stage.stageHeight/2;
mc.name="222";
info.addChild(mc);

mc.addEventListener(MouseEvent.CLICK,msclick);
function msclick(e:MouseEvent):void{
trace(info.getChildByName("222"));
info.getChildByName("222").x+=100;
trace(e.target.name)
    var ob:Object=getChildByName(e.target.name);
    //this.addChild(ob);
    info.removeChild(getChildByName("222"));
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...