さて、私は小さなタンクゲームを作っています。私は自分のタンクに弾丸を撃つようにしなければなりません。タンクは動くことができます。今私の問題は、どのようにして弾丸が砲身から抜け出し、角度と位置が良いように見えるようにするのだろうか?私は困惑しています。イメージを前方に移動しますが、ローテーションと同期させますか?
答えて
最も簡単な解決策は、タンクの銃身/中央の最初から弾丸を開始し、銃身とタンクの後ろに並べて、銃身が指しているのと同じ方向に発射することです。特別な回転は必要ありませんが、タンクの後ろから弾丸が現れるまで少し時間がかかります。
または、数学を行います。ホットスポットを置くか、バレルの始まりの座標を記録し、バレルを回転させるときに、このポイントを回転させます。これはあなたの弾丸をスポーンする新しいポイントになります。
DirectXやOpenGLなどの3D APIには、「モデルスペース」と「ワールドスペース」という概念があります。 Model Spaceは、世界のどこにあるかにかかわらず、単一のモデルに関連して表現された座標のセットであり、World Spaceは世界全体に関連する一連の座標です。モデル空間から座標を取得して個々のモデルに意味を持ち、それをWorld Spaceに変換するには、ワールド・マトリックスと呼ばれるマトリックスを介して座標を乗算し、これは世界のモデルの各インスタンスに固有のものです。
だから、基本的には:
{X、Yは、モデル空間の座標} * {モデルインスタンスのワールド行列} = {X、Yは世界空間の座標}
あなたは2Dにこれと同じアプローチを適用する必要がありますゲーム。あなたのタンクスプライトのバレルの終わりは、タンクの画像の同じX、Y座標に常にあります。しかし、あなたの戦車の画像は、スクリーンに表示されているときにある変形を受けています(ある点の周りの回転)。あなたは基本的に、タンクイメージ上のバレルの終わりのX、Y座標を取って、それに同じ変換を適用する必要があります。そして、バレルの終わりのX、Y座標を与えます現在画面に表示されています。
そこから、発射後に発射体がどの角度に向かうべきかを決定するために、タンクの回転角を取る。
- 1. IPNの前にPDTが起動するか、IPNとPDTを同期させることができますか?
- 2. コントローラメソッドを非同期にするか、同期させますか?
- 3. イメージを浮遊させると、CSSテキストがブロックテキストに遷移しますか?
- 4. キャラクターを前方に移動させたり、移動方向にも向きませんか?
- 5. ローカルSQLデータをSQL Azureに移行して同期させますか?
- 6. 前のレイアウトに移動しますか?
- 7. 同期フレームワーク - 同期する前にロジックを確認します
- 8. matlabで同じ名前のフォルダにファイルを移動します
- 9. ナビゲーションバーにイメージを整列させる方法と、小さなデバイスの場合、イメージをコンテンツに合わせて左に移動しますか?
- 10. CSSイメージを移動できません
- 11. 私のイメージはなぜ上に移動しませんか?
- 12. SQL ServerデータをNeo4jに移行し、両方のデータベースのデータを同期させたままにする
- 13. Entity Frameworkの移行を元に戻し、以前の移行からのスキーマを同期させよう
- 14. Angular Keystrokesが同期して動作しないのはなぜですか?または、どうすれば同期させることができますか?
- 15. 絶対配置されたサブメニューを前方に移動しますか?
- 16. イメージはフォルダに移動されません
- 17. 遷移がSVGローテーションを破棄します
- 18. オブジェクトを同期させるとJavaで動作する方法
- 19. WhirlyGlobの初期ローテーションがオフセットされています
- 20. 非同期コンポーネントを同期させることはできますか?
- 21. どのようにイメージを並べて移動しますか?
- 22. 自動的にbitbucketとサーバを同期させる方法
- 23. クライアントとサーバーとの間でデータを同期させますか?
- 24. Couchbaseサーバーと同期ゲートウェイが同期していません
- 25. マウスカーソルをマウスポインタに移動すると、ポインタが移動しません。
- 26. インストールリポジトリと同期プロジェクトが動作しません
- 27. setTimeoutを同期させる方法はありますか?
- 28. C - fscanf - ファイルポインタを前方に移動できますか?
- 29. Silverlightでオブジェクトを「ドキュメントフロー外に」移動させると、CSS Absolute Positioningと同じ効果がありますか?
- 30. UITableViewViewで非同期の複数のイメージをダウンロードしますか?
XNAを使用していますか? – RandomEngy
タンクの位置やタンクのトレッドとタンクタレットの回転を管理する方法を示すコードを投稿しますか? –
これは2Dまたは3Dですか?彼らはあなたが学校でゴニオメーターを教えたときに注意を払ったのですか? –