Rect を Sprite に追加したいのですが、失敗しました。Rect は addElement でのみ追加できますが、Sprite にはありません (addChild のみがあります)。代替手段は何ですか?
2 に答える
いいえ、実際には Sprites や MovieClips を使用したくありません。Flex の UI レイヤーは UIComponent に基づいているため、フレームワークはこのクラスが基本クラスとして使用されることを想定しています。測定/サイジング、ポジショニングなどは、フレームワークと連携するコンポーネントによって明示的/暗黙的に実装する必要がある Flex コンポーネントのライブ サイクルに基づいています。
それ以外はすべてフレームワークとの戦いであり、多くのメリットを失います。
原則として、@ Florian Salihovicの回答には多少同意しません。ASprite
は、Flash Player でネイティブに定義されている低レベルのオブジェクトです。これまでのどの Flex コンポーネントよりも大幅に軽量です。それがあなたのニーズを満たしているなら、あなたのアプリでそれを使用してみませんか?
Sprite
がFlex コンポーネントが行う手の込んだことのすべてを行うわけではないことに注意する必要があります。これにより、Flex アプリでの使用が制限されますが、決して排除されるわけではありません。
確かに、私はSprite
Flex で 's をあまり使用しません。Sprite
Flex アプリでa を使用するのに完全に適したシナリオがあることを表明したいだけです。
Sprite
をマスクとして使用するSprite
Flex コンポーネント内の子オブジェクトに を使用するGraphics
軽量オブジェクトで API を使用してプログラムによる描画を行う
あなたの特定のシナリオでは、すでに行われた提案は適切です。それらについてさらに説明します。
- 四角形だけが必要な場合は、スプライトに四角形を描画するだけではどうですか? すでに何か他のものを描く計画を立てているようです。
- FXG は素晴らしいです。Spark グラフィックス プリミティブ ( など) に似た構文を持っている
Rect
ので、なじみがありません。Flex アプリで FXG オブジェクトをインスタンス化するときは、SpriteVisualElement
. したがって、FXG で宣言的に作成した描画は としてインスタンス化でき、そのAPI にSpriteVisualElement
アクセスして追加の描画を行うことができます。Graphics