0

このコードでベジェスプラインをキャンバスに挿入したい

<mx:Canvas 
id="graphCanvas" 
width="100%" 
height="100%" 
preinitialize="preInit()"
/>
<BezierSpline id="mySpline" graphicsTarget="{[graphCanvas]}"  data="points"

verticalCenter = "0"horizo​​ntalCenter = "0">

pointsは、preInit()メソッドで初期化する文字列です。

[Bindable]public var points : String;
private function preInit() : void {
        points = "200,100 200,300 100,300 300,500 500,300 400,300 400,100";
    }

しかし、プロジェクトをビルドすると、キャンバスにスプラインが描画されませんが、データをmxmlに直接統合すると機能します

<BezierSpline id="mySpline" graphicsTarget="{[graphCanvas]}"  data="200,100 200,300 100,300 300,500 500,300 400,300 400,100"

verticalCenter = "0"horizo​​ntalCenter = "0">

誰かが私を助けることができますか?スプラインのデータを動的に変更する必要があります。また、コードでスプラインをキャンバスに再描画する方法がわからないため、プログラムで処理する回答も歓迎します(スプラインのdraw()メソッドの使用方法がわかりません)。

前もって感謝します

セバスチャン

4

1 に答える 1

1

このコードは私のために働きます:

[Bindable]
private var points:String;
private function preinit ():void
{
    points = "200,100 200,300 100,300 300,500 500,300 400,300 400,100";
}

<degrafa:BezierSpline id="mySpline" graphicsTarget="{[graphCanvas]}" data="{points}">
    <degrafa:stroke>
        <degrafa:SolidStroke weight="2" color="#0000FF"/>
    </degrafa:stroke>
</degrafa:BezierSpline>
于 2009-06-08T10:51:55.873 に答える