[概要]

Silverlight でゲームの土台を作ります。

ゲームループ

難しい話は抜きにして、複雑なゲームだって中身を見ていくと 色々な数字を計算してその結果を画面に映し出しているだけのはずです。
ゲームを作るためには色々な要素が必要となりますが、以下の要素 があれば簡単なゲームとして成立するのではないかと思います。

  • 処理ルーチン
  • キーボード入力
  • 画像の表示

まずはゲームの土台となる処理ルーチンの部分を作成してみます。
ゲームの裏側では常に計算を行います。例えばシューティングゲームでは 敵が動いたり自機に向かって弾を発射したりします。
このような処理を行うために一定間隔でプログラムを動かす必要があります。
一定間隔でプログラムを動かすためにメインループという処理ルーチンは Tari Lari Run 様のサイトを参考にさせて頂きました。

Game クラス

メインループは汎用的に利用できるように以下のような専用のクラスを作成しました。

Game クラスは、Canvas クラスを継承しています。
また、Update というイベントハンドラを用意して、メインのページでイベントを発生させます。
既定値の場合、1秒間に約60回イベントが発生します。

使い方

以下のようにメインページの LayoutRoot に追加してイベントを登録します。

1. using句に SystemWorks.Library を追加します。
2. メンバ変数に Game クラスを追加します。
3. コンストラクタで Game クラスのオブジェクトを作ります。
4. LayoutRootに Game クラスのオブジェクトを追加します。
5. game.Update イベントを登録します。(TABキーを押せば自動的に game_Update メソッドが作られます。)

以上で準備は完成しました。
早速、[F5]キーを押して実行してみましょう!エラーとならずに実行できましたか?
まだ何も起こりませんがこれからどんどん追加していきます。

2011/4/12 更新 | TOP↑

inserted by FC2 system