Какой тип параметра ожидает bezierThrough в библиотеке TweenMax? - PullRequest
1 голос
/ 06 марта 2012

В настоящее время я пытаюсь адаптировать некоторый пример кода и столкнулся с проблемой при попытке заменить жестко закодированные координаты переменной.

Следующий пример кода работает:

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]

[извините за форматирование]

Ответы [ 2 ]

2 голосов
/ 06 марта 2012

В качестве третьего параметра для TweenMax.to вы передаете объект с 3 свойствами. Первый - это Array объектов, имеющих x и y в качестве свойств.

Попробуйте убрать квадратные скобки:

TweenMax.to(
    sp,
    5,
    { 
        bezierThrough:centralLinePoints,
        onUpdate:drawme,
        onUpdateParams:[sp]
    }
);
0 голосов
/ 06 марта 2012

Извините, я решил это - очевидно, квадратные скобки вокруг centralLinePoints должны были определять массив вокруг моего существующего массива или что-то в этом роде. Убрав их, починили. Не уверен, что делают квадратные скобки вокруг sp ... хотя я просто получаю базовый параметр Shape для моей функции drawme.

...