ページ 11

東方でいう、一時停止中に微妙に動く計算式について

Posted: 2010年5月12日(水) 01:33
by kms
龍神録を改造してます。
東方で添付画像の羽の部分が左右?に微妙に動くところがあるのですが
これはDXライブラリでいうと
何の関数は使ってどういった計算式を使えば
このような動きになるのでしょうか?
全く分からなかったので、分かる方がいましたら
よろしければ教えていただけないでしょうか?
よろしくお願いします。

Re:東方でいう、一時停止中に微妙に動く計算式について

Posted: 2010年5月12日(水) 02:21
by 胡椒
一時停止中にカウントをして、それに合わせて画像を動かせばいいのでは?

Re:東方でいう、一時停止中に微妙に動く計算式について

Posted: 2010年5月12日(水) 03:13
by kms
>胡椒
いえ、それは分かっているのですが
例えば、

int DrawRotaGraphFdF2( double xd, double yd, double ExRate, double Angle, int GrHandle, int TransFlag, int TurnFlag = FALSE ) {
return DrawRotaGraphF((float)xd,(float)yd,ExRate,Angle,GrHandle,TransFlag,TurnFlag);
}

DrawRotaGraphFdF2(63,105,
1,

img_board[1],TRUE);

この?の部分が分からないのです。
多分sinを使っているんだと思うんですが、
計算式が分からなくて困ってます。

Re:東方でいう、一時停止中に微妙に動く計算式について

Posted: 2010年5月12日(水) 08:33
by 胡椒
龍神録を改造しているなら?の部分は
sin(PI2*(cont_cnt%240)/240)*0.5
でできると思います。
cont_cntは一時停止中のカウントです。
240の値を変えると降り速度が変わります。
0.5の値を変えると降り幅が変わります。
一応、私の環境では動作しました。もっと短い計算式があったら、誰かお願いします。

Re:東方でいう、一時停止中に微妙に動く計算式について

Posted: 2010年5月12日(水) 09:00
by たいちう
>もっと短い計算式があったら、誰かお願いします。

多分これでよいのでは? sin(PI2*cont_cnt/240)*0.5
元の式よりもよくなったとは思いませんけどね。

Re:東方でいう、一時停止中に微妙に動く計算式について

Posted: 2010年5月12日(水) 13:21
by kms
>胡椒さん
>たいちうさん
ありがとうございます。非常に助かりました。
この部分だけでずっと悩み続けて2時間くらい
試行錯誤してましたが、お二方のおかげで
なんとか解決できました。
ありがとうございました! 画像