Javascript Paperjs弹跳动画

Javascript Paperjs弹跳动画,javascript,if-statement,animation,setinterval,paperjs,Javascript,If Statement,Animation,Setinterval,Paperjs,在玩Paperjs的时候有一些古怪的行为,我试着用7个点分别画出一条曲线-这一次效果很好,但是当试图使链接超调并返回到3个不同的点(以创建反弹效果)时,似乎没有发挥作用。在第二条if语句中,“counter”变量似乎没有增加而不是减少,“+steps”而不是“-steps” 也许我在这个例子中没有正确使用if语句,或者paperjs有一些奇怪的行为 。以下是段中一个点的设置间隔 var seg6first = true; var seg6sec = false; var seg6th

在玩Paperjs的时候有一些古怪的行为,我试着用7个点分别画出一条曲线-这一次效果很好,但是当试图使链接超调并返回到3个不同的点(以创建反弹效果)时,似乎没有发挥作用。在第二条if语句中,“counter”变量似乎没有增加而不是减少,“+steps”而不是“-steps”

也许我在这个例子中没有正确使用if语句,或者paperjs有一些奇怪的行为

。以下是段中一个点的设置间隔

var seg6first = true;
   var seg6sec = false;
   var seg6thir = false;
   setInterval(function() {
      if (seg6first == true) {
         counter = counter - steps;
         if (counter >= 230) {
            path.segments[6].point.y = counter; 
            path.smooth(); }
         else {
            seg6first = false; 
            seg6sec = true;  
         } 
      }
      if (seg6sec == true) { 
         counter = counter + steps;
         if (counter <= 260) {   
            path.segments[6].point.y = counter;   
            path.smooth();} 
         else { 
            seg6sec = false;
            seg6thir = true;
         }
      }
      if (seg6sec == true) {
         counter = counter - steps;
         if (counter >= 250) {   
            path.segments[6].point.y = counter;  
            path.smooth();  }
         else {
            seg6thir = false;
         }
      }
   }, mintiming); 
var seg6first=true;
var seg6sec=假;
var seg6thir=false;
setInterval(函数(){
if(seg6first==true){
计数器=计数器-步数;
如果(计数器>=230){
path.segments[6]。point.y=计数器;
path.smooth();}
否则{
seg6first=false;
seg6sec=真;
} 
}
如果(seg6sec==true){
计数器=计数器+步数;
如果(计数器=250){
path.segments[6]。point.y=计数器;
path.smooth();}
否则{
seg6thir=false;
}
}
},mintiming);

谢谢

您可以使用动画库,而不是手动构建反弹效果。
它有许多功能,可以使您的任务更轻松(请参阅)。
下面是一个您尝试执行的示例(单击画布以设置线条动画)

html,
身体{
保证金:0;
溢出:隐藏;
身高:100%;
}
画布[调整大小]{
宽度:100%;
身高:100%;
}

//用户定义常数
var段数=6;
var曲线_高度=80;
var\u持续时间=2;
//初始路径
var路径=新路径({
fillColor:'橙色',
所选:真
});
//加分
对于(var i=0;i