与花辞梦
2020-04-24 09:47
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();
}
var beta = Math.atan2(deltaY,deltaX);//-pi,pi
这一段改一下,后面加上 Math.PI
var beta = Math.atan2(deltaY,deltaX) + Math.PI;
HTML5小游戏---爱心鱼(上)
92348 学习 · 551 问题
相似问题