伊人怎会持宠而骄
希望有人懂你的低头不语、小心翼翼守护你的孩子气
反弹
1、先定义个横向的速度(speedX)和一个纵向速度(speedY
2、再设置小球的运动轨迹
    ball.style.left = ball.offsetLeft + speedX + "px";
    ball.style.top = ball.offsetTop + speedY + "px";
边界反弹,并判断上下左右的最大和最小边界
    最小边界为0,最大边界为窗口的宽高-小球的宽高
    边界<0,便强制=0;边界>0,便强制等于最大边界
    上下边界 :   speedY *= -1  
    左右边界 :   speedX *= -1
 
重力加速度
向上速度越来越慢,向下速度越来越快
1、先定义个横向的速度(speedX)和一个纵向速度(-speedY  向上运动)
2、再设置小球的运动轨迹
    ball.style.left = ball.offsetLeft + speedX + "px";
    ball.style.top = ball.offsetTop + speedY + "px";
边界反弹,并判断上下左右的最大和最小边界
    最小边界为0,最大边界为窗口的宽高-小球的宽高
    边界<0,便强制=0;边界>0,便强制等于最大边界
   if( ball.offsetTop > maxT ){
      ball.style.top = maxT + "px";
      speedY *= -0.6;    由于小球落地后会有能量损耗,不能弹回原来的高度               
      由于能量损耗 横向速度越来越慢
      speedX--;
       if( speedX < 0 ){
          clearInterval( timer );
        }
   }
   speedY++;   重力加速度实现 speedY经过if循环之后已经改变了数值
 
圆周运动
1、先定义小球运动轨迹的半径(r) 和初始角度(deg)
2、再获取小球运动轨迹的圆心坐标
    var centerPoint = {
          x : ball.offsetLeft + ball.offsetWidth/2,
          y : ball.offsetTop+ball.offsetHeight+r
     }
3、设置小球的移动轨迹
    ball.style.left = centerPoint.x + r*Math.cos(deg*Math.PI/180) + "px";
    ball.style.top = centerPoint.y - r*Math.sin(deg*Math.PI/180)+"px";
    deg-=3; 每次移动改变角度,从而形成圆周运动  顺时针正数,逆时针负数
 
 
椭圆周运动
1、先定义小球运动轨迹的短轴(a)和长轴(b) 和初始角度(deg)
2、再获取小球运动轨迹的圆心坐标
    var centerPoint = {
          x : ball.offsetLeft + ball.offsetWidth/2,
          y : ball.offsetTop+ball.offsetHeight+a(躺着的椭圆)
          y : ball.offsetTop+ball.offsetHeight+b(站着的椭圆)
     }
3、设置小球的移动轨迹
    ball.style.left = centerPoint.x + r*Math.cos(deg*Math.PI/180) + "px";
    ball.style.top = centerPoint.y - r*Math.sin(deg*Math.PI/180)+"px";
    deg-=3; 每次移动改变角度,从而形成圆周运动  顺时针正数,逆时针负数
posted on 2019-01-22 10:21  伊人怎会持宠而骄  阅读(241)  评论(0编辑  收藏  举报