ここの記述の関数wait_fanc()でtをstaticにし、t=GetNowCount();としていますが
GetNowCount()が2147483648ミリ秒以上を返してきたらintが数字を保てなくなりオーバーフローしてしまうのではないでしょうか
こんなに起動する場合はないかもしれませんがなんとかこのを解決できませんでしょうか
それとも別に平気なのでしょうか
s5. 処理速度を一定にする。について
Re:s5. 処理速度を一定にする。について
>オーバーフローしてしまうのではないでしょうか
オーバーフローはしません。
GetNowCount()は 0x7fffffffを越えたら、0に戻り循環します。
なので、前回の値より小さくなった場合は循環したと考えて、それを加味して処理すれば
大丈夫です。
オーバーフローはしません。
GetNowCount()は 0x7fffffffを越えたら、0に戻り循環します。
なので、前回の値より小さくなった場合は循環したと考えて、それを加味して処理すれば
大丈夫です。
Re:s5. 処理速度を一定にする。について
時間関連の関数はこの辺参考になるでしょうか。
http://www.katto.comm.waseda.ac.jp/~kat ... /time.html
http://d.hatena.ne.jp/prog_pc/20090522/1242977667
ここに書いてない関数でclockもありますね。GetNowCountと同じような関数ですが。
私は趣味程度のプログラムならintでいいやって感じにしてますが、
製品に組み込むような時はgettimeofdayをlong long unsigned intで扱えるようにして使ってます。
intでも1ヵ月弱カウント出来るので、趣味で作る程度のゲームなら十分なんじゃないかと思います。
http://www.katto.comm.waseda.ac.jp/~kat ... /time.html
http://d.hatena.ne.jp/prog_pc/20090522/1242977667
ここに書いてない関数でclockもありますね。GetNowCountと同じような関数ですが。
私は趣味程度のプログラムならintでいいやって感じにしてますが、
製品に組み込むような時はgettimeofdayをlong long unsigned intで扱えるようにして使ってます。
intでも1ヵ月弱カウント出来るので、趣味で作る程度のゲームなら十分なんじゃないかと思います。