【问题标题】:What parameter type does bezierThrough in TweenMax library expect?TweenMax 库中的 bezierThrough 期望什么参数类型?
【发布时间】:2012-03-06 10:35:21
【问题描述】:

我目前正在尝试修改一些示例代码,但在尝试用变量替换硬编码坐标时遇到了问题。

以下示例代码有效:

TweenMax.to(sp,
         5,
         {bezierThrough:[{x:250,y:100},{x:50,y:200},{x:500,y:200}],
         onUpdate:drawme,
              onUpdateParams:[sp]});

但是当我尝试用变量替换贝塞尔点时,我得到一个运行时错误,指出 Shape 的属性 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:在 flash.display.Shape 上找不到属性 0,并且没有默认值。 在 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]

[对格式感到抱歉]

【问题讨论】:

    标签: flash actionscript tween gsap


    【解决方案1】:

    作为TweenMax.to 的第三个参数,您传递一个具有3 个属性的对象。第一个是具有xy 作为属性的对象的Array

    尝试去掉方括号:

    TweenMax.to(
        sp,
        5,
        { 
            bezierThrough:centralLinePoints,
            onUpdate:drawme,
            onUpdateParams:[sp]
        }
    );
    

    【讨论】:

    • 哎呀,你自己找到的!
    • 对不起!但是你知道为什么我需要在 sp 周围加上方括号吗?
    • 因为它是一个参数数组。
    【解决方案2】:

    抱歉,我已经解决了 - 显然 centralLinePoints 周围的方括号一定是在我现有的数组或类似性质的东西周围定义了一个数组。把它们拿出来修好了。不确定 sp 周围的方括号是做什么的......因为我只是为我的 drawme 函数获得了一个基本的 Shape 参数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-07-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-19
      • 2019-04-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多