致命的な問題を発見しました。
敵機の座標を表す変数の宣言はint型を使っていたんですが、そこにベクトルの実数を足し引きしていたので、座標に対するベクトルの影響がうまく出ていないケースがありました。
いままでも敵の動きが時々何か変だなとは感じていたんですが、誘導ミサイルが思ったように動かない事で原因が特定できました。
敵の座標変数もfloat型で宣言するように修正済みです。
コレを画面描画の際はintに変換して使う形になります。
ベクトルで動くゲームを作る時に初心者が落ちやすい穴なんじゃないかと。
まだ全ての変換部分を直しているわけじゃないのでコンパイルの時に変数型に関する警告が出まくりますが(笑)、とりあえず動く形にはなりました。
8方向分のミサイルを描きましたよ。
誘導に関してはうまく動くようになりましたが、微調整はなかなか難しいですな。
自機方向のベクトルをそのまま合成すると、自機との距離によって相当誘導性能が変る(遠いほど誘導性能が上がる)ので、自機方向のベクトルを正規化したうえで、大きさを調整しています。
よって、平方根の計算を2回行うアルゴリズムに変更されましたが、速度的にはまったく問題なさそうです。
誘導性能の調整具合によっては自機の周りを衛星のように回ったり・・・(笑)
現状ではミサイルは常に右向きなので、次はミサイルの角度によって向きをつける部分を実装してみようと思います。
PR
この記事にコメントする
- ABOUT
やってやれないことはないっ!たぶん・・・
- カレンダー
04 | 2025/05 | 06 |
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 最新コメント
[11/09 CALL MY NAME]
[11/09 erin]
[08/18 うずランド]
[07/11 うずランド]
[06/23 うずランド]
- プロフィール
HN:
Call my name
年齢:
50
性別:
男性
誕生日:
1974/05/22
職業:
スロ屋店員
趣味:
いろいろ
自己紹介:
やる気だけはあるつもりです。
はい。
はい。
- ブログ内検索
- カウンター
- アクセス解析