0

形状にランダムな方向を割り当てて、通常の速度で移動できるようにしたいと考えています。

平行移動の x 値と y 値に乱数を割り当ててみましたが、形状の動きが速すぎたり、画面から消えたりすることがありました。

形状を回転させずに移動する形状のランダムな方向を選択する方法はありますか (少なくともユーザーが知る限り)。

また、方向の変更を可能にするイベントが呼び出されたとき (つまり、ボタンのクリック) に乱数を再生成する方法はありますか?

編集:チェックしたところです。ランダムな角度で回転機能を使用すると、正方形がランダムな方向に発射されますが、形状の向きを変更せずにこれを行う方法はありますか?

4

1 に答える 1

0

では、図形を正または負の x、y、または z 方向に移動させたいですか?

これをランダムにしたい場合は、Random クラスを使用します。これから、0 または 1 になる Random.nextInt(1) を使用できます。結果が 0 の場合は、値を -1 に設定します。

+1 または -1 が方向に使用されます。

これで、オブジェクトがどの方向に移動するかがわかったので、これにオブジェクトの速度を単純に掛けることができます

ここにいくつかの大まかなコードがあります

ランダムランド = new Random(); int 方向 = rand.nextInt(1);

(方向 == 0) 方向 = -1 の場合。

シェイプ theShape.position.x += 方向 * theShape.speed

これはインターフェイスの設定方法 (theShape.position や theShape.speed など) とは異なる場合がありますが、考え方は同じです。

これをもう一度読んだ後、あなたは形状を回転させようとしていると思います笑、回転は x と y の値に追加するだけではありません。アプリケーションで行列を使用しますか? そうでない場合は、trig を使用して、x 度の回転後に x と y の値がどうなるかを把握する必要があります。

于 2011-07-30T18:23:42.043 に答える