0

シェイプをスプライトに描画する関数があります。図形の代わりに画像を使用するように関数を変更したいのですが、画像が表示されません。画像を表示するにはどうすればよいですか?lineChartContainerはスプライトです。

function drawCircle(x:Number,y:Number):void{
                //var circle:Shape = new Shape();
                circle.graphics.beginFill(0xf1e500, 1);
                var lineThickness:int = 6;
                circle.graphics.drawCircle(x + (0), y - (0), lineThickness);
                circle.graphics.endFill();
                lineChartContainer.addChild(circle);
                var graphic:Image = new Image();
                graphic.source="images/grade.png";
                lineChartContainer.addChild(graphic);
            }
4

1 に答える 1

2

あなたがやろうとしていることは決してうまくいかないようです。

変数lineChartContainerはスプライトです。

Flexコンポーネント(Imageコントロールなど)は、Flex以外のコンポーネントでペアレント化することはできません。したがって、AS3コードを実行することは完全に合法ですが、次のようになります。

lineChartContainer.addChild(graphic)

Flexコンポーネントは何もレンダリングしません。Flexコンポーネントには「ライフサイクル」があり、コンポーネントが実際に何かをレンダリングする前に、ライフサイクルの反復を実行する必要があります。ただし、Imageコントロールがライフサイクルに追加されているため、コンポーネントSpriteのライフサイクルは開始されません。Image

Canvas質問のタイトルにaと記載されています。ImageコンポーネントをCanvas、、、、、、、またはその他のFlexコンテナクラスにVBox追加してみてください。HBoxGroupVGroupHGroup

于 2012-07-31T20:24:55.673 に答える