var babyObj = function()
{
this.x;
this.y;
this.angle;
this.babyTailTimer = 0;
this.babyTailCount = 0;
this.babyEyeTimer = 0;
this.babyEyeCount = 0;
this.babyEyeInterval = 1000;
this.babyBodeTimer = 0;
this.babyBodeCount = 0;
}
babyObj.prototype.init = function()
{
this.x=canWidth*0.5 - 50;
this.y=canHeight*0.5 + 50;
this.angle=0;
}
babyObj.prototype.draw = function()
{
this.x=lerpDistance(mom.x,this.x,0.98);
this.y=lerpDistance(mom.y,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);
this.babyTailTimer += deltaTime;
if(this.babyTailTimer>50)
{
this.babyTailCount = (this.babyTailCount + 1)%8;
this.babyTailTimer%=50;
}
this.babyEyeTimer += deltaTime;
if(this.babyEyeTimer > this.babyEyeInterval)
{
this.babyEyeCount = (this.babyEyeCount + 1)%2;
this.babyEyeTimer%=this.babyEyeInterval;
if(this.babyEyeCount==0)
{
this.babyEyeInterval=Math.random()*1500+2000;
}else
{
this.babyEyeInterval=200;
}
}
this.babyBodeTimer += deltaTime;
if(this.babyBodeTimer > 300)
{
this.babyBodeCount = this.babyBodeCount+1;
this.babyBodeTimer%=300;
if(this.babyBodeCount>19)
{
this.babyBodeCount = 19;
}
}
ctx1.save();
ctx1.translate(this.x, this.y);
ctx1.rotate(this.angle);
var babyTailCount = this.babyTailCount;
ctx1.drawImage(babyTail[babyTailCount],-babyTail[babyTailCount].width * 0.5+23,-babyTail[babyTailCount].height *0.5);
var babyBodeCount = this.babyBodeCount;
ctx1.drawImage(babyBode[babyBodeCount],-babyBode[babyBodeCount].width * 0.5,-babyBode[babyBodeCount].height *0.5);
var babyEyeCount = this.babyEyeCount;
ctx1.drawImage(babyEye[babyEyeCount],-babyEye[babyEyeCount].width * 0.5,-babyEye[babyEyeCount].height *0.5);
ctx1.restore();
}
还没有敲代码测试,