我正在开发一个树游戏并且有点可以在树上添加分支,我想增强它,例如当一个点被点击时,它会在它周围的特定半径内显示其他点。
问问题
366 次
1 回答
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.
*/
}
}
}
我没有测试过代码,但我真的希望这能让你理解。
于 2012-10-22T10:01:02.107 回答