Posted by & filed under リリースノート.

enchant.js v0.7.0 をリリースしました。変更点を紹介します。

features

add Entity#intersectStrict (feature/boundingRect #166)

Entity#intersect と Entity#within はどちらも回転、拡大を考慮しないものなので、回転、拡大を行ったEntityについて正しい結果を得ることができません。Entity のバウンディングを取得する Entity#getBoundingRect と Entity#getOrientedBoundingRect を追加し、回転、拡大を考慮したサイズの矩形を取得することができます。また、これらのメソッドで取得した値を基に厳密な当たり判定を計算する Entity#intersectStrict も追加しています。
intersectStrict は intersect に比べ 1.8-2.0 倍ほど計算時間がかかります。 getBoundingRect、intersectStrict の値は getOrientedBoundingRect の結果を基に求められるので、getOrientedBoundingRect の結果をキャッシュする実装についても検討しています。
https://github.com/wise9/enchant.js/issues/166

add Deferred class

jsdeferred 互換の Deferred クラスを利用できるようになりました。enchant.js の内部で利用しています。

add LoadingScene class

わたしたちは LoadingScene クラスを追加しました。これを継承することで、デフォルトのローディング画面を簡単に変更することができます。

allows preload alias (feature/asset-name-alias #193)

Core.preload を拡張し、アセットのファイル名に対してエイリアスを設定できるようになりました。

- Core can be resize after initialized
- add Core resize event
v0.6 までは、new Core() を読んだあとにリサイズすると、canvas 要素の大きさがセットされませんでした。v0.7 からは画面をリサイズすると、Core インスタンスに coreresize イベントが dispatch され、それにあわせて要素の大きさも変わります。

improved Group#addChild, insertBefore

addChild しようとした Entity がすでに親の Group を持っている場合、これを親から removeChild してから親に追加します。 (Entity が複数の Group に追加されるバグを防ぎます)

bugfix

  • improved some DOM bugs on Internet Explorer
  • some fixes

other

remove built files from repository

開発上の不具合の原因となるため、enchant.js, enchant.min.js など、ビルド済みのファイルを削除しました。開発用のソースコードは dev/ 以下に含まれるものを利用します。また、enchant.js の利用者の方々は以下の リポジトリから、ビルド済みのファイルをダウンロードすることができます。
https://github.com/uei/enchant.js-builds

grunt v0.4.1 (thanks to @chick307)

https://github.com/wise9/enchant.js/pull/176

 

v0.7 系統は多くの新機能を追加しました。メインループの処理の最適化などにより、描画速度は大幅に向上しましたが、最新版にはいくつかのバグがまだ含まれているかもしれません。バグフィクスは次のマイナーアップデート (v0.7.1) に含まれます。商用案件などのプロジェクトには、v0.6 系の利用をおすすめします 。

公式のリリースノートが発表されるまでしばらくお待ちください。

This post is also available in: 英語, ポルトガル語(ブラジル)

Comments are closed.