Я хочу, чтобы вставить Безье сплайн в мой Canvas этого кодомDegrafa Безье сплайна привязка данные к строке
<mx:Canvas
id="graphCanvas"
width="100%"
height="100%"
preinitialize="preInit()"
/>
<BezierSpline id="mySpline" graphicsTarget="{[graphCanvas]}" data="points"
verticalCenter = "0" horizontalCenter = "0" >
точек является строкой Я инициализировать в методе 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 Wo RKS
<BezierSpline id="mySpline" graphicsTarget="{[graphCanvas]}" data="200,100 200,300 100,300 300,500 500,300 400,300 400,100"
verticalCenter = "0" horizontalCenter = "0" >
Может кто-нибудь мне помочь? Мне нужно динамически изменять данные сплайна. Также ответы, которые обрабатывают его программно, приветствуются, поскольку я действительно не знаю, как перерисовать сплайн на моем холсте с помощью кода (не знаю, как использовать метод draw() сплайна).
Заранее спасибо
Sebastian
хмм нормально, но, как я сделал это изменение, до сих пор ничего не происходит, когда я поставил строку точек в моем методе инициализации , на мой холст не нанесен сплайн. Переменная точек привязывается и установка переменной точек в процессе preinitialize также не влияет. Больше идей? Могу ли я программно вызывать перерисовку сплайна? –
Я включил весь пример в свой ответ. Он работает нормально для меня. На самом деле, я уверен, что degrafa должна автоматически перерисоваться, вы можете попробовать использовать метод draw (graphics: Graphics, rc: Rectangle) ', чтобы перерисовывать программно. – Hrundik
ah ok, вы правы, он работает finde, но теперь, когда я меняю значение точек на «200,200 100,100 300,300», например, возникает ошибка 1009 Не удается получить доступ к свойству или методу нулевой ссылки объекта по адресу com.degrafa.geometry. сплайны :: BezierSpline/_assignControlPoints() [C: \ Inetpub \ wwwroot \ Degrafa_Google_Dev \ com \ degrafa \ geometry \ splines \ BezierSpline.as: 586] \t на com.degrafa.geometry.splines :: БезьеSpline/preDraw() [ C: \ Inetpub \ Wwwroot \ Degrafa_Google_Dev \ ком \ degrafa \ геометрия \ шлицы \ BezierSpline.as: 401] \t в com.degrafa.geometry.splines :: BezierSpline/ничья() и так далее, вы знаете, что здесь? –