jgame.jsはオープンソースのHTML5向け2dゲームフレームワークです。
MITライセンスなので、商用非商用を問わずご自由にご利用いただけます。
動作はjavascriptですが、製作はtypescriptで行われているため、typescriptライブラリともいえます。
enchant.jsよりも少し使いにくく結構高速なライブラリとなることを目標としています。
詳しくはサンプルをご覧ください。
http://jgame-js.sourceforge.jp/
2dゲーム用javascriptゲームエンジン、jgame.jsのバージョン0.4です。
各Entityに子供が追加出来るようになった、グラデーションや複雑な図形描画が出来るようになったなど、地味ながら使い勝手を向上させるアップデートが多く行われています。
より詳しい情報は変更履歴をご確認ください。
1. CharacterFactoryの指定パラメータを動的化
2. FPSの表示負荷が少し高いため、少し負荷を減らした形に修正
3. Game.targetFpsの計算ルーチンを見直し
4. E.orderDrawを追加。このフィールドが存在していれば、render実行前に実行される
5. JGUtil.orderDrawYを追加。E.orderDraw = JGUtil.orderDrawYを実行する事で、y値の高い要素が上に表示される
※毎回並べ替え処理が走る。移動頻度が少ない場合など、移動ごとにこの関数をJGUtil.orderDrawY.call(game.currentScene.root)と実行した方がいい場合もある
6. QUnit導入
7. Lineクラスとサンプルにline.htmlを追加
8. サンプルにorder-draw.htmlを追加
9. 正式にレイヤー以外のEntityに子Entityを追加する機能をサポート。サンプルにchild-entity.htmlとchild-entity2.htmlを追加
10. E.createSpriteを追加。BufferedRendererを意識しなくても、簡単に各種オブジェクトをスプライト化出来るように。
11. E.insertを追加。orderDrawを利用しない場合、表示順を制御するために使えるかも
12. Label.syncronizeを追加。特定オブジェクトの値を自動的に反映させる
13. game.preloadArrayが動作していなかったのを修正。ただ、将来的にpreloadArrayはpreloadに一本化しようかと思う
14. JGUtilにグラデーション、パターンのサポートを追加。サンプルも追加
15. 小さいレイヤーを作れるように修正。ただし既存のスクロール処理がレイヤーの座標をマイナスにすることで成り立っていたためそれのサポートを捨てられず、サイズの違うレイヤーは位置を動かすと思ったように動作しない状態(つまり、まだ実用レベルではない)
→ 多分、この問題はレイヤーをマイナス座標にしてスクロールという現状のメソッドが間違っている。レイヤーをマイナス座標にすれば本来下が切れるべきだったのだが。まだ代替案が浮かばないが、浮かび次第基本的なスクロールの設計から見直した方がいいと思われる
16. TimelineでwaitUntil -> thenの順番の場合、thenが無限ループになる不具合を修正
→ おそらくenchant.js本体にもあるバグ
17. Lineクラスで曲線を含む複雑な図形描画をサポート。またサンプルを追加