ページ 11

GetNowCount関数について

Posted: 2011年5月10日(火) 22:04
by elise
はじめまして。製作途中でどうすればいいかわからない処理があったので質問させていただきます。

GetNowCount()関数で物体の落下する際の時間を測定していたのですが、
この関数は「ウィンドウズの起動時間を測定する」ということでしたので、ゲーム途中で枠外をクリックすると
ゲームは停止しているが、起動時間は進んでいるため、落下時の時間処理が上手くいかず、次のフレームの描画先が画面外となってしまいました。
落下の処理だけではなく、GetNowCount()ではゲーム内の制限時間などにも使うと思うので、ゲームウィンドウ外をクリックしたときのゲーム停止を防ぐ方法か、
もしくはGetNowCount()以外で時間を測定する方法はあるのでしょうか?

Re: GetNowCount関数について

Posted: 2011年5月10日(火) 22:06
by h2so5
例えば int counter; などをグローバルで定義して、
1フレームごとに counter++ とすれば、時間計測は可能ですよ。

Re: GetNowCount関数について

Posted: 2011年5月10日(火) 22:14
by elise
h2so5 さんが書きました:例えば int counter; などをグローバルで定義して、
1フレームごとに counter++ とすれば、時間計測は可能ですよ。
素早い回答、ありがとうございます。
早速試したのですが、開始時の秒数をGetNowCount()で保存し、GetNowCount()での時間測定と、
h2so5さんの方法を比較したのですが、counter++で行った場合、その前の処理の多さで正確に時間が計れませんでした。

Re: GetNowCount関数について

Posted: 2011年5月11日(水) 07:47
by みけCAT
使っているライブラリなどが書いてありませんが、
DXライブラリならSetAlwaysRunFlag(TRUE)で、
ウィンドウがアクティブでなくても処理が止まらなくなるはずです。

Re: GetNowCount関数について

Posted: 2011年5月11日(水) 11:21
by elice
みけCAT さんが書きました:使っているライブラリなどが書いてありませんが、
DXライブラリならSetAlwaysRunFlag(TRUE)で、
ウィンドウがアクティブでなくても処理が止まらなくなるはずです。
ご返信ありがとうございます。
先程確認し、こちらが解決したかったバグが起こらないことを確認しました!
リファレンスを見直して「これ使うのか・・・」と思ったほど見逃してました。
DXライブラリ使用も書いてませんでしたね・・・申し訳ありません。