つい先日ですが、ネットで調べ物をしていてちょっとよさげなソフトを見つけたので、
今日はそのソフトについて少し紹介したいと思います。
はい、Construct 2という2Dゲーム作成ソフトです。
国内で有名どころの2Dゲーム作成ソフトだとRPGツクール、Multimedia Fusion
(もしくは旧Click&Createの名前の方が有名かな?)辺りがありますが、Construct 2は
HTML5を利用してWEBアプリケーション用にビルドします。つまりWEBゲームが
簡単に作れてしまうわけです(以前自分が作成したHTMLマ○オは簡単に作成
できました)。どうせプラグインがいるんでしょ?と思うかもしれませんが
…なんと、JQueryとHTML5しか利用しないのでプラグインはいらないんです!
(若干TVショッピングみたいなノリになってますね苦笑;)
まあ、個人的には外部ライブラリやFlashを使用せずにJavascriptだけで何とかしよう
という部分に好感が持てました。それにしても調べてみると結構HTML5用のライブラリ
多いですね。他にはUnity辺りもWEBやiPhoneといった路線を強調しているし、最近は
SilverlightやWebGLで手軽にWeb3Dが扱えるようになってきているので今後Web
コンテンツの売りとして3Dが増えてくる可能性が無くも無いなあと思いました。
そこで、3Dとまではいかなくても自前のJavascriptゲームエンジンがほしいな、という
ことで、さっそく作ってみました笑。まだ一部の機能しか確認していないので簡単なこと
しかできませんが、とりあえずスプライトを作成してマウスカーソル位置にあわせると
いうスクリプトを組んでみました。以下がスクリプトのゲームループ部分の抜粋です。
// ページの読み込みが完了後に1度だけ呼び出される関数
window.onload = function(e){
// シーンを初期化
MALScene.Init();
// スプライトを作成
MALScene.CreateSprite(
"Sprite1",
"./Sprite1_Tex.gif",
10, 10, 0,
30, 30,
0, 0
);
// ゲームループを実行
GameMain();
// マウス座標の取得
document.onmousemove = function(e) {
MALScene.GetMousePos(e);
}
// キーが押された場合はキーバッファを更新
document.onkeydown = function(e) {
MALScene.GetKeyState(e,true);
}
// キーが離された場合はキーバッファを更新
document.onkeyup = function(e) {
MALScene.GetKeyState(e,false);
}
}
// ゲームのエントリーポイントとなる関数
function GameMain(){
// スプライトの座標をマウスカーソルの座標に設定
MALScene.SetPos(
"Sprite1",
MALScene.MousePosX,
MALScene.MousePosY
);
// 指定時間後に再びGameMain()関数を実行
setTimeout( "GameMain()", MALScene.FrameTime );
}
まだ途中なので公開は控えますが、クロスブラウザ対応である程度古いブラウザでも
動作するようになってます。ちなみにMALは”My Ajax Library”の略ですが、ネーミング
センスが疑われるかもしれません苦笑;