为了账号安全,请及时绑定邮箱和手机立即绑定

为什么我的是大鱼尾巴跟着鼠标移动呀?

momObj.prototype.draw =function(){

//lerp x,y 让大鱼跟随鼠标移动

this.x = lerpDistance(mx,this.x,0.98);//数字越大越慢

this.y = lerpDistance(my,this.y,0.98);

//计算坐标差

//Math.atan2(y,x)

var deltaY = my - this.y;

var deltaX = mx - this.x;

var beta = Math.atan2(deltaY,deltaX);//-pi,pi


//lerp angle 趋向于角度

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


ctx1.save();

//使eye, body ,tail的中心在同一个点,后移尾巴位置得到大鱼图片

ctx1.translate(this.x,this.y);//重新映射画布上的 (0,0) 位置,先移动位置

ctx1.rotate(this.angle);//再旋转角度


ctx1.drawImage(this.bigTail,-this.bigTail.width * 0.5 + 30,-this.bigTail.height * 0.5);

ctx1.drawImage(this.bigBody,-this.bigBody.width * 0.5,-this.bigBody.height * 0.5);

ctx1.drawImage(this.bigEye,-this.bigEye.width * 0.5,-this.bigEye.height * 0.5);


ctx1.restore();


}


正在回答

1 回答

var beta = Math.atan2(deltaY,deltaX);//-pi,pi

这一段改一下,后面加上 Math.PI

var beta = Math.atan2(deltaY,deltaX) + Math.PI;

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么我的是大鱼尾巴跟着鼠标移动呀?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信