C# C# C♯ でゲームを作ろう Part1
at GAMEDEV
616:名前は開発中のものです。
10/03/29 00:21:38 VsNKVRFO
>>611
疑問もごもっともです。
一般的なゲームのように、何もしていなくても定期的にゲーム内のオブジェクトや
キャラクタを更新し、画面を描画するには Idleイベントでは足りません。
タイマーイベントなどでも可能ですが、SlimDXでは便利なクラスを用意してくれています。
それが、MessagePumpクラスです。
SlimDXのサンプルフレームワークでは、このMessagePumpクラスが使われています。
このクラスは、内部でPeekMessage関数を呼び出し、メッセージが無い場合に
メインループを回すように実装されています。
使い方はサンプルフレームワークのSampleクラスを見ていただければ分かりますが、
MessagePump.Run( form, () => {
/* メインループ */
} );
のようにして使います。
これで、CPUが空いているときにメインループを何度も回してくれます。
サンプルは動きを扱っているわけではないので分かり易いかなと Idleイベントを使っていたのですが、
混乱させてしまったようですね。そのうちMessagePumpクラスについても追加しておきます。
もし、私の理解が間違っていたらご指摘ください。
よろしくお願いします。
次ページ続きを表示1を表示最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4291日前に更新/243 KB
担当:undef