Skip to content

デバッグ機能が強化された enchant.js v0.4.3 リリース!

こんにちは! enchant.js 開発チームのリョーヘイです。

enchant.jsは MIT/GPLのデュアルライセンスで、利用者がどちらか好きな方を継承できます。ときどき誤解されるのですが、「両方守らなければならない」ということはありません…。enchant.js について、詳しくはこちらの公式サイトからどうぞ。はじめての方は リファレンス をご参照ください。

さて、昨日 enchant.js の v0.4.3 がリリースされました。今回のリリースは小さな機能改善やbugfixが中心です。

  • ゲームを再開する Game#resume を追加
  • デバッグモードでゲームを起動する Game#debug を追加
  • postMessage により、ウインドウの内外からイベントを受け取ることができる機能の追加
  • load時 firefoxでローカルファイルを読み込むとエラーが起こるバグを修正
  • テキストファイルのloadに失敗するバグを修正
  • Rakefile を修正・翻訳コメントを追加

さらに、github に v0.5.0 のブランチが追加されました。開発中のベータ版をダウンロードできます。

  • Spriteクラスに設定されていた rotation, scale, scaleX, scaleY プロパティを Entity に移されています。
  • 回転をサポートするグループ RGroup (仮称) が追加されています。
  • 表示処理が改善され、高速化されます。また、従来のDOMによる表示処理を廃止し、完全にcanvasベースの表示(独自レンダリング)に切り替えることが可能になる予定です (v0.5.1以降)

修正箇所だけ並べても、なにがなんだか分からないと思いますので、それぞれの機能について、解説していきますよ!

Game#resume

Game#pause で一時停止したゲームを再開するメソッドです。


game.onload = function(){
    game.pause();
    game.resume();
}
game.start();

Game#pause で一時停止したゲームを再開するためには Game#start(); を使うよう推奨していましたが、load イベントを発火させてしまうため、v0.4.3以降は Game#resume の利用をおすすめします。

Game#debug

Game#start() の代わりに Game#debug() を使うと、デバッグモードでゲームを起動できます。

デバッグモードがオンの場合、当たり判定や要素の大きさを分かりやすく表示する枠が表示されます。(Entityは青、Spriteは赤)

また、デバッグモード中はEntity (Label, Sprite, etc..) をクリックするとそのオブジェクトを console.log に出力します。またフレームごとの実行などの機能の追加が予定されています。

postMessage

window.postMessageは、クロスドメインなサイトの中にあるJavaScript間でメッセージをやりとりするための機能です。enchant.js では、渡されたメッセージをJSONとして解釈し、それをトリガーにイベントを発火したり、ゲームを一時停止・再開することができます。

以下のようなコードで、左方向キーが押された/離された状況を再現できます。window のかわりに、フレームのウィンドウオブジェクトを指定すれば、iframeの外に十字キーを置いて中のゲームを操作することもできます。

window.postMessage(JSON.stringify({type: “event”, value: “leftkeydown”}));
window.postMessage(JSON.stringify({type: “event”, value: “leftkeyup”}));

(試験的な実装) デバッグモード中は、以下のようなコードも実行できます。

window.postMessage(JSON.stringify({type: “debug”, value: “pause”}));
window.postMessage(JSON.stringify({type: “debug”, value: “start”}));
window.postMessage(JSON.stringify({type: “debug”, value: “resume”}));
window.postMessage(JSON.stringify({type: “debug”, value: “tick”}));

以上です。

さらに、canvas対応のプラグインcanvas.enchant.js (解説記事)、WebGLによる3Dレンダリングに対応した gl.enchant.js と collada形式のモデリングデータを読み込むことができる collada.gl.enchant.js (解説記事)、kassy708さんによる物理エンジン box2d.enchant.js も標準添付のパッケージに追加しました。enchant.js は、あくまで骨組みに徹する一方で、これからもその機能を拡張するプラグインという形で、様々な機能を追加していきます。

今日のGlobal Game Jamでは、たくさんの人が最新版のenchant.jsでいろんなゲームを作ってもらえることを期待してます! こんな機能があったらいいな!など、機能についての要望も、引き続きお待ちしていますヨ!

それでは、楽しいプログラミングライフを!

このエントリーをはてなブックマークに追加
はてなブックマーク - デバッグ機能が強化された enchant.js v0.4.3 リリース!
Post to Google Buzz
Share on GREE

Related posts:

  1. 3D野郎は寄ってたかれ!WebGLでグリグリ遊べるgl.enchant.jsがついにβ公開!
  2. enchant.js用物理シミュレーションプラグインPhySpriteが登場!
  3. gl.enchant.js開発者コミュニティが活発化!チュートリアルやサンプルが続々と
  4. WebGL+enchant.jsでモグラ叩き!ゲームをつくる!(221行)
  5. [enchant.js]shi3z式ゲームプログラミング #7 タイムアタックは神!

Facebook comments:

Post a Comment

Your email is never published nor shared. Required fields are marked *
*
*