LoadDivGraph関数で[0]~[2]に格納した画像を順次表示させ滑らかなアニメーションをさせようと試みようとしているのですが、具体的に書きますと、横スクのアクションゲーでキーが押されると攻撃モーションをするという事なのですがDrawGraph(x, y, image[n])のnの部分に+1していくという書き方だと早すぎてチカチカしてしまうのです
そこでSleep()関数等でちょっと描画を遅くしてみようとしてみたら
動作がおかしくなってしまい、上手くアニメーションさせる事が出来ません
適切な書き方があればご教示下さい
画像で滑らかなアニメーションさせるには?
Re:画像で滑らかなアニメーションさせるには?
DrawGraph(x, y, image[n/2];
とするだけで1/2の再生速度になりますよ。
DrawGraph(x, y, image[n/3];
なら1/3に!
とするだけで1/2の再生速度になりますよ。
DrawGraph(x, y, image[n/3];
なら1/3に!
Re:画像で滑らかなアニメーションさせるには?
DrawGraph(x, y, image[n/4]
なら1/4n(ry
Sleep関数で止める方法はよくないです。
Sleep関数はFPS制御用だけに使った方がいい・・というかそうであるべきかと。
毎フレーム必ず制御関数に処理を返してあげる構造がベストだと思います。
マルチスレッドでは無い限り、Sleepを使うと全て止まってしまい、
背景なども止まってしまいます・・。
遅くする、早くする、などはカウンタを使っていくらでも変更可能ですから。
FPSは固定にして、動きの計算式を変えるようにすることお勧めします。
(それらを全て理解した上でSleepを使うなら良いでしょうが)
なら1/4n(ry
Sleep関数で止める方法はよくないです。
Sleep関数はFPS制御用だけに使った方がいい・・というかそうであるべきかと。
毎フレーム必ず制御関数に処理を返してあげる構造がベストだと思います。
マルチスレッドでは無い限り、Sleepを使うと全て止まってしまい、
背景なども止まってしまいます・・。
遅くする、早くする、などはカウンタを使っていくらでも変更可能ですから。
FPSは固定にして、動きの計算式を変えるようにすることお勧めします。
(それらを全て理解した上でSleepを使うなら良いでしょうが)
Re:画像で滑らかなアニメーションさせるには?
基本的には既に出ているアイデアでいいかとは思いますが、ちょっと別の方向から。
> 滑らかなアニメーション
「滑らか」にするならアニメのコマ数を増やすのが無難ではないでしょうか。
[0]~[2]を [0]~[3]とか[0]~[4]にするだけも結構違ってみえるはずです。
> 滑らかなアニメーション
「滑らか」にするならアニメのコマ数を増やすのが無難ではないでしょうか。
[0]~[2]を [0]~[3]とか[0]~[4]にするだけも結構違ってみえるはずです。
Re:画像で滑らかなアニメーションさせるには?
nを割る書き方で丁度いい速度になり自然な速度でアニメーションをさせる事が出来るようになりました
Justyさんのおっしゃる通り滑らかにするなら画像の枚数増やす事ですよね
Sleepの使い方がよく分かっていなかったので、ご説明ありがとうございました
Justyさんのおっしゃる通り滑らかにするなら画像の枚数増やす事ですよね
Sleepの使い方がよく分かっていなかったので、ご説明ありがとうございました