3
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の距離で言うことができます.いくつかの公式はありますか?

4

2 に答える 2

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);
}
于 2012-12-08T18:06:34.700 に答える
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);
}

「sin」と「cos」が何をするのか、または「toRadians」が何を意味するのかわからない場合は、「Sine Cosine Trigonometry」のように Google で検索してください。たくさんのチュートリアルがあります。

ほら、これ見つけた。「sin」、「cos」、「radians」の意味を教えてくれます。 http://www.khanacademy.org/math/trigonometry

もちろん、グレープフルーツの答えに固執することもできますが、うまくいきますが、「Point.polar」の内部で実際に何が起こっているのか知りたい場合は、それらのビデオをチェックしてください.

于 2012-12-08T18:15:40.040 に答える