ページ 11

ProcessMessage関数(DxLib)の呼び出しタイミング

Posted: 2010年8月21日(土) 22:51
by やっくん
こんばんは。

タイトルの通りDxライブラリのProcessMassage関数についての質問です。
http://homepage2.nifty.com/natupaji/DxL ... .html#R1N3

Dxライブラリの使用の際に、60分の1秒に1回(ゲームのループに1回)呼び出さなければならないとあります。

現在、私は短い処理のループには呼び出しをしておりません。
主に無限ループ処理を行う場合などに用いています。
極端な例であげますと以下のようなループの場合は用いません。

int cnt = 0;
for(int i = 0; i < 3; i++) cnt++;

しかし、短い処理といっても、いくつものループを呼び出していくと全体で見れば長い時間のループ処理となります。

この場合、ProcessMessage()はどこで呼び出せば良いでしょうか?
または、ループ処理には短くても必ず呼び出した方が良いのでしょうか?

Re:ProcessMessage関数(DxLib)の呼び出しタイミング

Posted: 2010年8月22日(日) 02:14
by Justy
>この場合、ProcessMessage()はどこで呼び出せば良いでしょうか?
 ClearDraw()や ScreenFlip()は使って居ないのでしょうか?
 もし使っていないタイプのプログラムだとちょっと話が厄介になりますが、
使っているのであればよくあるサンプルのように ClearDraw()の前後あたりの
タイミングで行うようにして下さい。


 ただプログラムの内容にもよりますが
>長い時間のループ処理となります
が数秒~数分以上に渡る長大な処理で、その間一切 ProcessMessage()が呼ばれないとなると
それはさすがに問題なるかもしれません。
 その場合は適度なところで ProcessMessage()を挟んであげる必要はありそうです。

Re:ProcessMessage関数(DxLib)の呼び出しタイミング

Posted: 2010年8月22日(日) 13:15
by やっくん
Justyさん、返信ありがとうございます(^^

>ClearDraw()や ScreenFlip()は使って居ないのでしょうか?
使っています。
これらを使っていない部分の処理時間も考慮しつつ適当なところにProcessMessage()を使っていくことにします。

ありがとうございました。