C# C# C♯ でゲームを作ろう Part1 at GAMEDEV
[2ch|▼Menu]
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