はじめまして。製作途中でどうすればいいかわからない処理があったので質問させていただきます。
GetNowCount()関数で物体の落下する際の時間を測定していたのですが、
この関数は「ウィンドウズの起動時間を測定する」ということでしたので、ゲーム途中で枠外をクリックすると
ゲームは停止しているが、起動時間は進んでいるため、落下時の時間処理が上手くいかず、次のフレームの描画先が画面外となってしまいました。
落下の処理だけではなく、GetNowCount()ではゲーム内の制限時間などにも使うと思うので、ゲームウィンドウ外をクリックしたときのゲーム停止を防ぐ方法か、
もしくはGetNowCount()以外で時間を測定する方法はあるのでしょうか?
GetNowCount関数について
Re: GetNowCount関数について
例えば int counter; などをグローバルで定義して、
1フレームごとに counter++ とすれば、時間計測は可能ですよ。
1フレームごとに counter++ とすれば、時間計測は可能ですよ。
Re: GetNowCount関数について
素早い回答、ありがとうございます。h2so5 さんが書きました:例えば int counter; などをグローバルで定義して、
1フレームごとに counter++ とすれば、時間計測は可能ですよ。
早速試したのですが、開始時の秒数をGetNowCount()で保存し、GetNowCount()での時間測定と、
h2so5さんの方法を比較したのですが、counter++で行った場合、その前の処理の多さで正確に時間が計れませんでした。
Re: GetNowCount関数について
使っているライブラリなどが書いてありませんが、
DXライブラリならSetAlwaysRunFlag(TRUE)で、
ウィンドウがアクティブでなくても処理が止まらなくなるはずです。
DXライブラリならSetAlwaysRunFlag(TRUE)で、
ウィンドウがアクティブでなくても処理が止まらなくなるはずです。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)
Re: GetNowCount関数について
ご返信ありがとうございます。みけCAT さんが書きました:使っているライブラリなどが書いてありませんが、
DXライブラリならSetAlwaysRunFlag(TRUE)で、
ウィンドウがアクティブでなくても処理が止まらなくなるはずです。
先程確認し、こちらが解決したかったバグが起こらないことを確認しました!
リファレンスを見直して「これ使うのか・・・」と思ったほど見逃してました。
DXライブラリ使用も書いてませんでしたね・・・申し訳ありません。