В настоящее время я пытаюсь адаптировать некоторый пример кода и столкнулся с проблемой при попытке заменить жестко закодированные координаты переменной.
Следующий пример кода работает:
TweenMax.to(sp,
5,
{bezierThrough:[{x:250,y:100},{x:50,y:200},{x:500,y:200}],
onUpdate:drawme,
onUpdateParams:[sp]});
Но когда я пытаюсь заменить точки Безье на переменную, я получаю ошибку во время выполнения о том, что свойство 0 формы не существует. sp имеет тип Shape. (Полная ошибка ниже).
var centralLinePoints:Array = new Array();
for (var i:int = 0; i < data.nodes.length; i++)
{
var foo:Object = data.nodes[i].data.abc;
var bar:Number = data.nodes[i].data.def;
if (foo != null)
{
centralLinePoints.push({x: bar, y: foo});
}
}
TweenMax.to(sp,
5,
{bezierThrough:[centralLinePoints],
onUpdate:drawme,
onUpdateParams:[sp]});
Я нашел эту документацию: http://www.greensock.com/as/docs/tween/com/greensock/plugins/BezierThroughPlugin.html, но я не уверен, какой тип подразумевается.
Полная ошибка:
ReferenceError: Ошибка # 1069: свойство 0 не найдено во flash.display.Shape и значение по умолчанию отсутствует.
в com.greensock.plugins :: BezierPlugin / init () [C: [...] \ greensock-as3 \ com \ greensock \ plugins \ BezierPlugin.as: 99]
в com.greensock.plugins :: BezierThroughPlugin / onInitTween () [C: [...] \ greensock-as3 \ com \ greensock \ plugins \ BezierThroughPlugin.as: 68]
[извините за форматирование]