问答详情
源自:2-11 小鱼绘制

小鱼游动问题

http://img.mukewang.com/56c447ab0001ec7307490387.jpg我按照老师的代码写的,怎么小鱼游动的方向不对?

提问者:珍惜小燕子 2016-02-17 18:13

个回答

  • sakurashine
    2016-02-17 19:37:56
    已采纳

    var deltaY=mom.y-this.y;
    	var deltaX=mom.x-this.x;
    	var beta=Math.atan2(deltaY,deltaX)+Math.PI;
    	//lerp angle
    	this.angle=lerpAngle(beta,this.angle,0.6);

    对对代码,有没有哪里写错了的。

  • qq_阿呆_5
    2016-08-15 18:14:54

    少了rotate(this.angle),没有写旋转函数

  • 珍惜小燕子
    2016-02-18 09:42:12

    问题已解决了,谢谢了!this.x=lerpDistance(mx,this.x,0.98);
           this.y=lerpDistance(my,this.y,0.98);这个地方写错了,mx,my应该是mom.x,mom.y

  • 珍惜小燕子
    2016-02-18 09:26:30

    babyObj.prototype.draw=function(){
           this.x=lerpDistance(mx,this.x,0.98);
           this.y=lerpDistance(my,this.y,0.98);
           
           var deltay=mom.y-this.y;
           var deltax=mom.x-this.x;
           var beta=Math.atan2(deltay,deltax)+Math.PI;

           this.angle=lerpAngle(beta,this.angle,0.6);

           ctx1.save();
           ctx1.translate(this.x,this.y);
           ctx1.rotate(this.angle);
           
           ctx1.drawImage(this.babyTail,-this.babyTail.width*0.5+23,-this.babyTail.height*0.5);
           ctx1.drawImage(this.babyBody,-this.babyBody.width*0.5,-this.babyBody.height*0.5);
           ctx1.drawImage(this.babyEye,-this.babyEye.width*0.5,-this.babyEye.height*0.5);
           ctx1.restore();
    }这是我的代码