AS3在每个期间调用孩子的索引

时间:2013-02-28 22:58:07

标签: actionscript-3 for-loop parent-child

我有一个函数,它使用鼠标单击事件在鼠标坐标处创建符号的子项。然后将实例推送到数组。

我现在正在尝试创建一个新功能,允许您在鼠标位于其中10个像素内时拖放子项。当孩子掉线时,我想让它旋转以面对阵列中的下一个孩子。我目前正在使用for each循环与数组中的每个孩子进行通信。

我遇到问题是让孩子的索引值被删除并将其设置为变量。

作为参考,ins_trailPoint是创建子项的变量,tPoint是包含子项的数组的名称。 child是尝试获取被删除子项的索引值的变量。

function movePoint(Event:MouseEvent):void {
    for each (var ins_trailPoint in tPoint) {
        var child:int = event.target.parent.getChildIndex(event.target);
        var px:Number = mouseX - ins_trailPoint.x;
        var py:Number = mouseY - ins_trailPoint.y;
        var dist = Math.sqrt(px*px + py*py);

        if (dist<10) {
            stage.removeEventListener(MouseEvent.CLICK, addPoint);
            stage.addEventListener(MouseEvent.MOUSE_UP, dropPoint);
            ins_trailPoint.startDrag();

            function dropPoint(event:MouseEvent):void {
                ins_trailPoint.stopDrag();
                var dx:Number = tPoint[child+1].x - ins_trailPoint.x;
                var dy:Number = tPoint[child+1].y - ins_trailPoint.y;
                var radians:Number = Math.atan2(dy,dx);
                ins_trailPoint.rotation = radians * 180/Math.PI;

1 个答案:

答案 0 :(得分:0)

movePoint()的参数名为Event,大写字母为大写字母,但您尝试使用小写字母event