AS3:检测半径的动画片段

时间:2012-10-10 05:30:58

标签: actionscript-3 flash movieclip

我正在开发一个树游戏,并在树上添加分支点,我想要增强它,例如当一个点点击时,它会显示其周围特定半径内的其他点。

1 个答案:

答案 0 :(得分:1)

根据你给出的描述,我认为你正在寻找距离公式。

Sqrt((y2-y1)^2 + (x2-x1)^2)

例如:

您定义了一个半径和一个点数组:

var radius:int = 20;
var myDots = new Array ({'x':0, 'y': 0}, {'x': 5, 'y': 5}, {'x': 10, 'y': 5}, {'x': 10, 'y': 5}, {'x': 10, 'y': 10});

点击的点是(5,5),假设你有一个确定的半径r = 20。 现在,通过迭代点来获得半径为r的所有点:

    function getDotsWithinRadius(x,y){
        for(var i= 0; i<myDots.length;i++){
            var x2 = myDots[i].x;
            var y2 = myDots[i].y;
            var val = Math.sqrt(Math.pow(y2-y,2) + Math.pow(x2-x, 2)); 
            if(val <=radious){
               /*The dot is with the radius of the give location.
                 This is the place where you tell the current dot to show up or
                 something like that.
                */
            }
        }
    }

我没有对代码进行过测试,但我真的希望这能让你理解。