Apollo入れてみる。

Flashマルチプラットフォームなクライアントアプリが作れるってものです。
いや、フラッシュだけではなくて、htmlやpdfなんかも内包してしまうぜ。
html内のjavascriptとも連携するぜって言う奴です。


htmlでいう、htajavaでいうjavaクライアントアプリあるいは、java web startに近いものがあるApollo
どうも、屍の山のような分野な気がするんだけど入れてみました。


これが無謀な挑戦なのかどうかは分かりませんが、AJaxが遅咲きだったように、いつ花開くか分かりません。
AJaxキラーアプリgoogle mapだったように、Photo ShopがApolloキラーアプリとなるかもしれない。


でなにが他と違うのか?
ベクター形式のアプリケーションフレームワークである。
②簡単に非長方形で、アンチエイリアス付きの半透明ウィンドウを作れる。
その2点。しかし、この2点はとても大きいと思うのです。


問題に感じるのは、インストール作業が多いこと。
①ランタイムを入れる。
②アプリケーションをダウンロードする。
③アプリケーションをインストールする。
④アプリケーションを起動する。
たったこれだけの作業でApolloが動くのです。とはいえないなぁと思います。
インストール作業があるってことはアンインストール作業も必要なわけで、あんましいいもんじゃないなぁと思いました。

オブジェクト指向的なゲームオブジェクトの書き方。

C言語の関数を返す関数の型の話が話題になってたので、
YTさんに関数を返す関数とかといったらD言語の問題が解決できちゃいました。
CPSッポクかけて嬉しいです。

typedef typeof(Move) delegate() Move;
class Enemy {
	Move movef;
	this() {
		movef = &a;
	}
	void move() {
		movef = movef();
	}
	Move a() {
		printf("a\n");
		return &b;
	}
	Move b() {
		printf("b\n");
		return &a;
	}
}

void main() {
	Enemy e = new Enemy();
	for (int i = 0; i < 10; i++)
		e.move();
}

で、ababababa...と出ます。
このほうが、制御の流れが分かりやすいっしょ。