0

我想通过这段代码将贝塞尔样条插入我的画布

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

垂直中心=“0” 水平中心=“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"

垂直中心=“0” 水平中心=“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 回答