0

私は卓球ゲームに取り組んでおり、ボールを動かすメカニズムに取り組んでいます。x に 1 を追加すると、ボールは 1 ピクセル右に移動し、y に 1 を追加すると、ボールは 1 ピクセル下に移動します。ボールを特定の角度で動かしたい場合、どうすれば座標を計算できますか。

4

4 に答える 4

2

角度を操作しようとすると、必要以上に複雑になります。この種のアニメーションでは、通常、float を使用してオブジェクトの x 座標と y 座標を保存し、x デルタと y デルタを適用してオブジェクトを移動します (float は、画面に描画されるときに丸めによって失われる位置の詳細を保持します)。デルタは、オブジェクトが各軸で移動する速度を表し、負または正の値になります。

アニメーションの反復ごとに、xdelta を x 座標に追加し、ydelta を y 座標に追加します。それらを四捨五入して画面上に配置します。

上または下の境界線に到達すると、ydelta コンポーネントの記号を交換し、同様に側面の境界線についても交換します。

常に同じ x および y デルタを維持したくないので、オブジェクトがパドルに当たったときに、x または y デルタを少し変更して角度を変更します。

于 2009-04-14T12:50:04.803 に答える
1

BresenhamやDDAなどの線画アルゴリズムを探している場合は、ここでいくつかの合理的な実装を見つけることができますもちろん、完全な線を描く代わりに、その線に沿ってボールを移動しますが、移動する線のセットを見つける方法は同じです.

于 2009-04-14T12:36:28.470 に答える
1

これらのリソースが役立つ場合があります。

于 2009-04-14T12:37:33.397 に答える
1

Pong のようなものについては、ベクトル計算を調査する必要がありますが、角度を知ることだけが必要な場合は、SOHCAHTOAだけが必要です。

于 2009-04-14T12:44:47.013 に答える