我有一个函数,它使用鼠标单击事件在鼠标坐标处创建符号的子代。然后将该实例推送到一个数组。
我现在正在尝试制作一个新功能,允许您在鼠标在 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;