var momObj = function()
{
this.x ;
this.y ;
this.angle ; //定义角度
this.bigEye = new Image(); //鱼眼睛
//this.bigBody = new Image(); // 鱼身体
this.bigTail = new Image(); //鱼尾巴
this.momTailTimer = 0;
this.momTailCount = 0;
this.momEyeTimer = 0;
this.momEyeCount = 0;
this.momEyeInterval = 1000;
this.momBodyCount = 0;
}
momObj.prototype.init = function()
{
this.x = 0;
this.y = 0;
this.angle = 0;
this.bigEye.src ='./src/bigEye0.png';
//this.bigBody.src ='./src/bigSwim0.png';
this.bigTail.src ='./src/bigTail0.png';
}
momObj.prototype.draw = function()
{
//lerp x,y计算鱼与鼠标距离差,目的是让鱼跟随鼠标动。
this.x = lerpDistance(mousex, this.x, 0.98);
this.y = lerpDistance(mousey, this.y, 0.99);
//delta angle
//Math.atan2(y,x)
var deltaY = mousey - this.y;
var deltaX = mousex - this.x;
var beta = Math.atan2(deltaY, deltaX) + Math.PI;//-PI , PI
//lerp angle
this.angle = lerpAngle(beta, this.angle, 0.6); //计算出鱼与鼠标角度
//tail
this.momTailTimer +=17;
if(this.momTailTimer > 50)
{
this.momTailCount = (this.momTailCount + 1) % 8;
this.momTailTimer %= 50;
}
//mom eye
this.momEyeTimer += 17;
if(this.momEyeTimer > this.momEyeInterval)
{
this.momEyeCount = (this.momEyeCount +1) % 2;
this.momEyeTimer %= this.momEyeInterval;
if(this.momEyeCount == 0)
{
this.momEyeInterval = Math.random() * 1500 + 2000;
}
else
{
this.momEyeInterval = 200;
}
}
ctx1.save();
ctx1.translate(this.x, this.y);
ctx1.rotate(this.angle); //鱼跟随鼠标转动
var momTailCount = this.momTailCount;
ctx1.drawImage(momTail[momTailCount], - momTail[momTailCount].width * 0.5 + 30 , - momTail[momTailCount].height * 0.5);
var momBodyCount = this.momBodyCount;
if(data.double == 2)//ora
{
ctx1.drawImage(momBodyBlue[momBodyCount], - momBodyBlue[momBodyCount].width * 0.5 , - momBodyBlue[momBodyCount].height * 0.5);
}else
{
ctx1.drawImage(momBodyOra[momBodyCount], - momBodyOra[momBodyCount].width * 0.5 , - momBodyOra[momBodyCount].height * 0.5);
}
var momEyeCount = this.momEyeCount;
ctx1.drawImage(momEye[momEyeCount], - momEye[momEyeCount].width * 0.5 , - momEye[momEyeCount].height * 0.5);
//ctx1.drawImage(this.bigBody, - this.bigBody.width * 0.5 , - this.bigBody.height * 0.5);
ctx1.restore();
}
大鱼吃小鱼游戏-mom.js
最新推荐文章于 2021-05-31 05:57:13 发布