2012-05-25 17 views

答えて

4

個人的には、私はキャンバスを上に積み重ねません。キャンバスは実際には必要なすべてのピクセルを表示するビットマップなので、ほとんどの場合、必要なのは1つのみです。

ライブラリを使用してさまざまなオブジェクトを管理することをお勧めします。私は、グラントスキナーのEaselJSがうまく動作することを発見しました。

このライブラリを使用すると、簡単にオブジェクトをグループ化してキャンバスに追加できます。また、マウスリスナを追加してオブジェクトなどのクリックをキャプチャすることも簡単にできます。使用するときに多くのコードを書く必要がありますライブラリのないキャンバス。

EaselJSのドキュメントと例もあります。

EDIT:

ここでは、グループオブジェクトに使用containerに関するドキュメントからの抽出物です。

コンテナは、複合表示要素を操作できるネスト可能な表示リストです。たとえば、腕、脚、胴、頭のビットマップを一緒に人のコンテナにグループ化し、それらをグループとして変換しながら、個々の部分を互いに相対的に移動することができます。コンテナの子には、変換コンテナと親コンテナを連結したアルファプロパティがあります。たとえば、x = 50、alpha = 0.7のContainerに配置されたx = 100、alpha = 0.5のShapeは、x = 150、alpha = 0.35のキャンバスにレンダリングされます。コンテナにはオーバーヘッドがあるため、通常は1つの子を保持するコンテナを作成すべきではありません。

+0

私はEaselJSを使用していましたが、用語のグループ化は認識していませんでした。私はそれをさらに調べていくつもりです –

関連する問題