EaselJSのBitmapAnimationクラスの名前を変更する計画について [Edit]

本日CreateJSの開発者Grant Skinner氏より「Possible API change. Feedback requested.」と題する記事がGoogle Groupsに投稿されました。これまでとの互換性を破るAPIの変更が検討されており、フィードバックが求められています。具体的には、BitmapAnimationクラスの名前をSpriteに改めるということです。その内容をご紹介します。


BitmapAnimationという名前は、もともとFlash開発経験者の誤解を避けるために用いられました。ActionScriptでのSpriteに当たるのは、Containerクラスだからです。けれど、ライブラリの内容が十分知られた今、誤解の心配は要らなくなったと感じています。

BitmapAnimationという名前はかなり長く、いくつか混乱を招いています。 よく受ける質問に、「BitmapAnimationオブジェクトを使い」、けれど「アニメーションはしていない」場合、SpriteSheetオブジェクトからどうやって単一フレームを表示したらよいかというものがあります。そして、混乱の末、その目的で備えたのではないSpriteSheetUtils.extractFrame()メソッドを用いる人たちがいます。

Spriteという名前はSpriteSheetとのつながりを直に示します。つまり、SpriteSheetを表示するのがSpriteオブジェクトです。ドキュメントでも、Spriteはアルファベット順でSpriteSheetのすぐ上に記されます。しかも、名前は短いです。クラス名を添えた名前(たとえばEnemySprite)がつけやすいでしょう。

名前を変えると、互換性が損なわれます。けれど、つぎのように順を追って進めれば影響を小さくとどめられます。

  1. EaselJSの次期バージョンではBitmapAnimationをエイリアスとして残すことで引続き使えるようにしつつ、非推奨とします。
  2. 続くバージョンにもエイリアスは残しつつ、BitmapAnimationを使うと警告ログを示します。
  3. その後のバージョンで、エイリアスは除き、スローされるエラーで変更を告げます。
  4. そして最後に、クラスは完全になくします。

今後、APIを変えることはできるだけ避けるつもりです。けれど、BitmapAnimationクラスについては、今の段階で見直し、問題を残さないようにしたいと考えます。


なお、BitmapAnimationとSpriteSheetクラスの使い方については「EaselJSでスプライトシートからアニメーションをつくる」をお読みください。

コメント

この記事にコメントを書く

記事に対するテクニカルな質問はご遠慮ください(利用規約)。

その他の記事