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的距离,是否有一些公式?
答案 0 :(得分:7)
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);
}
答案 1 :(得分:1)
我不知道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);
}
如果你不知道“罪恶”和“cos”做什么,或者“toRadians”意味着什么,那么只需谷歌:“正弦余弦三角法”。你会找到很多教程。
在这里,我找到了这个。它会教你“罪”,“cos”和“弧度”是什么意思。 http://www.khanacademy.org/math/trigonometry
显然你可以坚持使用grapefrukt的答案,但是如果你想知道“Point.polar”背后的真实情况,请查看这些视频。