忍者ブログ
MASTER →  ADMIN / NEW ENTRY / COMMENT
HSPとC++にて製作中のシューティングゲームの開発日記など。 最近はプログラム雑記が多めです。
×

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

こんばんは。
ここ数日はSOW3の製作をやっていますが、
コンテストに間に合いそうもないです。

さて、今日はオファニムの製作をしていたもののいきなり障害が。

オファニムは前作(SOW2)のある機体をベースに更に攻撃方法を
追加した物になる予定ですが、
その弾道にsin関数を使っています。
これが厄介の種。
es_setでセット出来るのはint型の整数だけ?のようで
es_getでint型しか取り出せませんでした。
(何処かの過程でintにキャストさせて値が捨てられている、と)

この原因を特定するのに時間かかりました。
解決法としては実際の座標に速度を足す前に
double型の変数で計算させておき、
それをint型に変換して最終的に座標に足して移動させるという方法です。
これで何とか動きました。
周期などを調整して理想の形になって一安心です。
さっき調べたらes_posには実数渡せるみたいです。
余計にわからなーいorz

HSPだと何も宣言しない状態で使う変数が明示されないので
ゴチャゴチャになるんですよね。。。
doubleで宣言しても突然int型になっていて困った物です。
(何か解決法があるのかもしれませんが・・・)

更にクラス構造前提で設計してるのをHSPに持っていくと
変数がゴチャゴチャになってしまうのが気になるところ・・・。
とまぁ、言ってますが、とりあえずはHSPで完成させようかと思ってます。
全体的な完成度を見積もって20%未満と低いので集中的に
やっていきたいですが、どうなることやら・・・。

追記:
原因が判明しました。
es_getは必ずint型でしか返せないため
100.0でes_posには格納出来ますが
es_getで取得する変数が実数型だと必ず0を返すようです。
このため計算が出来なかったという問題が起きました。

拍手[0回]

PR
≪  76  75  74  73  72  71  70  69  68  67  66  ≫
HOME
Comment
この記事にコメントする
お名前:
URL:
メール:
文字色:  
タイトル:
コメント:
パス:
Trackback
この記事にトラックバックする:
≪  76  75  74  73  72  71  70  69  68  67  66  ≫
HOME
忍者ブログ [PR]