私はツリーゲームを開発しており、ツリーに枝を追加するためのドットを持っています。たとえば、1 つのドットをクリックすると、その周りの特定の半径内に他のドットが表示されるように拡張したいと考えています。
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 に答える