忍者ブログ
Admin*Write*Comment
35歳からのC言語ゲームプログラミング
[124]  [123]  [122]  [121]  [120]  [119]  [118]  [117]  [116]  [115]  [114
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

致命的な問題を発見しました。
敵機の座標を表す変数の宣言はint型を使っていたんですが、そこにベクトルの実数を足し引きしていたので、座標に対するベクトルの影響がうまく出ていないケースがありました。
いままでも敵の動きが時々何か変だなとは感じていたんですが、誘導ミサイルが思ったように動かない事で原因が特定できました。
敵の座標変数もfloat型で宣言するように修正済みです。
コレを画面描画の際はintに変換して使う形になります。
ベクトルで動くゲームを作る時に初心者が落ちやすい穴なんじゃないかと。
まだ全ての変換部分を直しているわけじゃないのでコンパイルの時に変数型に関する警告が出まくりますが(笑)、とりあえず動く形にはなりました。

93f60c89.JPG









8方向分のミサイルを描きましたよ。








誘導に関してはうまく動くようになりましたが、微調整はなかなか難しいですな。
自機方向のベクトルをそのまま合成すると、自機との距離によって相当誘導性能が変る(遠いほど誘導性能が上がる)ので、自機方向のベクトルを正規化したうえで、大きさを調整しています。
よって、平方根の計算を2回行うアルゴリズムに変更されましたが、速度的にはまったく問題なさそうです。

da1696e1.JPG









誘導性能の調整具合によっては自機の周りを衛星のように回ったり・・・(笑)






現状ではミサイルは常に右向きなので、次はミサイルの角度によって向きをつける部分を実装してみようと思います。

PR
この記事にコメントする
お名前
タイトル
メール
URL
コメント
文字色
パスワード   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
secret
この記事へのトラックバック
この記事にトラックバックする:
  • 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
職業:
スロ屋店員
趣味:
いろいろ
自己紹介:
やる気だけはあるつもりです。
はい。
  • バーコード
  • ブログ内検索
  • カウンター
  • アクセス解析
Copyright © 35歳からのC言語ゲームプログラミング All Rights Reserved.*Powered by NinjaBlog
Graphics By R-C free web graphics*material by 工房たま素材館*Template by Kaie
忍者ブログ [PR]