AS#3目标忽略父movieClip

时间:2012-04-04 05:01:32

标签: actionscript-3 flash actionscript

我更改了问题,因为它似乎是目标没有注册子mc /或嵌套MovieClip的问题。

    var box:Box = new Box();
    ground.push(box);
    levelPlane.addEventListener(MouseEvent.MOUSE_DOWN, onOver);
    box.x = box.width /2* (x + y);
    box.y = box.height/2 * (x - y);
    levelPlane.addChild(box);

    function onOver(e:MouseEvent):void{
    var tree1:Tree1 = new Tree1();
    addChild(tree1)
    trace(e.target.x);
    tree.x = e.target.x;
    }

如何定位主MovieClip(levelPlane)中的动画片段(BOX)? 想象我在MovieClip中嵌套了10个盒子,叫做“levelPlane”我想点击任意一个盒子,在盒子上添加另一个Mc,我点击了x,y位置。

2 个答案:

答案 0 :(得分:1)

Event.currentTarget属性引用处理事件的当前对象,即侦听器对象。如果要引用调度事件的对象,请使用e.target

答案 1 :(得分:1)

如果我理解正确,您试图将新创建的影片剪辑放在另一个上面,但它们不在同一坐标空间内。目标的坐标必须转换为tree1的坐标空间,以使它们具有相同的位置:

var tree1:Tree1 = new Tree1();
addChild(tree1);

var global:Point = e.target.parent.localToGlobal(new Point (e.target.x, e.target.y));
var local:Point = globalToLocal(global);
tree1.x = local.x;
tree1.y = local.y;