Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/474.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在KineticJS中创建无递归的特殊tweens序列?_Javascript_Canvas_Kineticjs_Tween - Fatal编程技术网

Javascript 如何在KineticJS中创建无递归的特殊tweens序列?

Javascript 如何在KineticJS中创建无递归的特殊tweens序列?,javascript,canvas,kineticjs,tween,Javascript,Canvas,Kineticjs,Tween,是否可以根据数组中保存的数据在KineticJS中创建tweens序列而无需递归 这是我当前的解决方案,包括递归: function tweenFunc( image ) { setGlobalCoordinates(); tween = new Kinetic.Tween({ node: image, duration: 1, x: x, y: y, rotation: rot, onFinish: function(){

是否可以根据数组中保存的数据在KineticJS中创建tweens序列而无需递归

这是我当前的解决方案,包括递归:

function tweenFunc( image )
{
  setGlobalCoordinates();
  tween = new Kinetic.Tween({
    node: image, 
    duration: 1,
    x: x,
    y: y,
    rotation: rot,
    onFinish: function(){
      if ( counter++ < arr.length )
      {
        tweenFunc( image );
      }
    }
  });
  tween.play();
}
函数tweenFunc(图像)
{
设置全局坐标();
吐温=新的动力学({
节点:图像,
持续时间:1,
x:x,
y:y,
轮换:腐烂,
onFinish:function(){
if(计数器+++
我想有一个解决方案,即在第一个动画之前创建tweens,然后从前一个动画的最终位置开始创建tweens。
该项目包括多个位置序列的4幅图像的同时动画。

我知道您没有使用easing。使用动画而不是tweening如何?似乎更适合需要多个航路点的序列。是否可以为动画设置两个航路点之间的航路点和持续时间?我没能找到它。我使用默认的线性缓和,所以我从代码中省略了它。另一个问题可能是更改对象偏移量的必要性。为什么不想使用递归?@lavrton:一个半相关的问题:-)——我最近没有看过KineticJS代码。我知道,特温用的是动画。是否为每个.Tween(4个并发tweens==4个动画)生成了新动画,或者动画是否在“引擎盖下”(4个并发tweens==1个动画)的某个地方批处理?我需要在一个时刻为4个图像制作动画,每个图像都有自己的轨迹,根据当前位置根据移动的距离和方向计算轨迹(不是到初始位置)。递归使用会导致这样的情况,当图像不在同一时间移动时,并且在大量数据使用的情况下,堆栈可能出现问题。