0

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

我现在正在尝试制作一个新功能,允许您在鼠标在 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;
4

1 回答 1

0

参数 of以大写字母movePoint()调用,但您尝试 tu 使用小写。Eventevent

于 2013-03-01T06:30:33.057 回答