ボスの魔法陣?(後ろで回ってる)について

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
サンタクロース

ボスの魔法陣?(後ろで回ってる)について

#1

投稿記事 by サンタクロース » 15年前

こんにちは。
早速ですが、東方の本家みたいにボスの後ろでくるくる回っている魔法陣?
を時間の経過とともにどんどん小さくするにはどうすればよいでしょうか?
いちおう
DrawRotaGraphF(boss.dx+FX, boss.dy+FY,boss.endtime/3600, i/500,2*PI*(count%340)/340,img_etc[2], TRUE);
SetDrawBlendMode( DX_BLENDMODE_NOBLEND, 0) ;
としてみたのですが最初の60cntしか描画されませんでした

Justy

Re:ボスの魔法陣?(後ろで回ってる)について

#2

投稿記事 by Justy » 15年前

 情報が少ないので憶測ですが。

 DrawRotaGraphF関数では表示スケールは3番めの引数にて double型で指定します。
 その例ですと boss.endtime/3600がそれにあたりますが、まず entimeメンバの型を確認して下さい。

 ここでもし endtimeメンバが int型などの整数型だったりすると、boss.endtime/3600の
演算結果は整数になります。

 つまり boss.endtimeが 0~3599はどの値であっても結果は 0、3600~7199で 1になります。
  0と 1の間は決して(滑らかに)補完されることはなく、 boss.endtimeの値が減っていくのであれば
スケール 1だったものが突如として 0になるということがあり得ます。

 これが原因だった場合、対処方としては演算を浮動小数点数で行えば解決するはずです。

 まずはメンバの型を確認してみて下さい。
画像

サンタクロース

Re:ボスの魔法陣?(後ろで回ってる)について

#3

投稿記事 by サンタクロース » 15年前

回答ありがとうございます。そして原因はまさにそのとおりだったようです。
自分はてっきりDrawRotaGraphFの仮引数がfloatなものだから小数点以下もOKだと思っていました
おかげでまた一歩本家のSTGに近づけた気がします(笑)

閉鎖

“C言語何でも質問掲示板” へ戻る