Sceneクラス

ここ数日は、仕事のプログラムを書いています。ゲーム製作でうまくいかなかったところをちゃんと反省して、そこそこまともに作ってます。あと、ゲーム製作で作ったクラス(タイマーとかGDI+のクラスとか)も使っているので基本構造はサクッと出来てしまいます。いや、オブジェクト指向ってホント便利ですね〜。

 C#講座にも入出力と描画(まだ途中ですが)の講座が加わったので、今度はSceneシステムの説明でも書こうかと思います。やねうらおの本に書いてあったのかな?C#講座のようにメインループを一つ作ってゲーム製作を進めていると、シーンの切り替え時に色々とフラグを立てたりして面倒な場合が出てきます。そんな時便利なのがSceneってやつです。

public abstract class BaseScene 
{
	public BaseScene NextScene;
	
	public BaseScene() 
	{
		NextScene = null;
		GC.Collect();
	}
	public abstract void OnMove();
	public abstract void OnDraw();

	public bool SceneChange
	{
		get
		{
			if (this.NextScene == null)
				return false;
			else
				return true;
						
		}
	}
}

 こうやって基本クラスを作っておいて、これを継承して色々なシーンのクラスを定義していきます。タイトル画面とか、ゲーム本体とか、ロゴ表示とか。計算処理をOnMoveのオーバーライドメソッドに、描画処理をOnDrawメソッドを書いておけばいちいちメインループのことを考えなくてもすみますね。ああ、便利。

って、日記でこんなこと書いても伝わないと思いますが。

話は変わって、今期の番組(アニメ)の話

 なのはの新シリーズが始まりました。前回を見ていない(正確には見ていて疲れるので途中であきらめた)のでとりあえずオープニングだけ見ました。オープニングが好きなので、そのうち見ようかと。水樹奈々の曲もなかなかいいですし。

 そのほかにも色々ありますが、やっぱり今期は舞-乙HiMEでしょう。なんつ〜か、綺麗ですね。キャラとか話とかはまぁいいとして、背景画と画面エフェクトがすばらしい。ああいうのをやってくれると、ゲーム製作が進むんですよ。あああ、ああいうのを作りたい!と。最近思うのですが、僕って別にゲームではなくとも良い気がしてきました。ゲーム性どうのこうのよりも、見た目が面白いものが出来れば満足かと。ゲーム的な設計は他のメンバーに任せて僕はお絵かきとグラフィックプログラムに専念したいです。もちろん、アクションプログラムもアニメーションの一部なのでやりますが。自分で思ったとおりに動かせるって楽しいです。

開発日記なので、一応プログラムらしいことを書きましたが、ホントはこれが書きたかっただけです。