小鱼游动问题

来源:2-11 小鱼绘制

珍惜小燕子

2016-02-17 18:13

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

写回答 关注

4回答

  • 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);

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

    珍惜小燕子

    对照你给的看了没有问题,但我这边的小鱼游动方向就是不对

    2016-02-18 09:26:12

    共 1 条回复 >

  • 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

    sakura...

    噢,那这就是小鱼的游动目标是大鱼而你写成了鼠标了。解决了就好。

    2016-02-18 09:47:55

    共 1 条回复 >

  • 珍惜小燕子
    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();
    }这是我的代码

HTML5小游戏---爱心鱼(上)

学做HTML5游戏,轻轻松松带你上手,适合刚入手游戏开发的同学

92350 学习 · 551 问题

查看课程

相似问题