var circles:Array = new Array();
for(var i:int = 0; i < 8; i++)
{
var ball:Ball = new Ball();
ball.x = ???
ball.y = ???
circles.push(ball);
}
将球定位在某个点周围的最佳方法是什么,可以说彼此相距 5-10,有什么公式吗?
var circles:Array = new Array();
for(var i:int = 0; i < 8; i++)
{
var ball:Ball = new Ball();
ball.x = ???
ball.y = ???
circles.push(ball);
}
将球定位在某个点周围的最佳方法是什么,可以说彼此相距 5-10,有什么公式吗?
for(var i:int = 0; i < 8; i++)
{
var ball:Ball = new Ball();
// Point has a useful static function for this, it takes two parameters
// First, length, in other words how far from the center we want to be
// Second, it wants the angle in radians, a complete circle is 2 * Math.PI
// So, we're multiplying that with (i / 8) to place them equally far apart
var pos:Point = Point.polar(50, (i / 8) * Math.PI * 2);
// Finally, set the position of the ball
ball.x = pos.x;
ball.y = pos.y;
circles.push(ball);
}
我不知道 actionscript3,所以这个确切的代码不起作用,但它应该给你一个基本的想法
for(int c = 0; c < 8; c++)
{
Ball ball;
ball.x = point.x;
ball.y = point.y;
ball.x += sin(toRadians((c/8) * 360));
ball.y += cos(toRadians((c/8) * 360));
circles.add(ball);
}
如果您不知道“sin”和“cos”的作用,或者“toRadians”的含义,只需谷歌一下:“Sine Cosine Trigonometry”。你会发现很多教程。
在这里,我找到了这个。它将教你什么是“sin”、“cos”和“radians”。 http://www.khanacademy.org/math/trigonometry
显然你可以坚持grapefrukt的回答,它有效,但如果你想知道“Point.polar”的幕后真正发生了什么,请查看这些视频。