海葵没有了?

来源:3-6 海葵摆动动画

Leo60

2016-10-20 12:08

为什么海葵没有了呢http://img.mukewang.com/580842f4000157a406440592.jpg

var aneObj=function()

{

//start point,control point,end point(sin)

this.rootx=[];

this.headx=[];

this.heady=[];

this.amp=[];

this.alpha=0;

}

aneObj.prototype.num=50;

aneObj.prototype.init=function()

{

for(var i=0;i<this.num;i++)

{

this.rootx[i]=i*16+Math.random()*20;//[0,1)

this.headx[i]=this.rootx[i];

//console.log(this.headx[i]);

this.heady[i]=canHeight-250+Math.random()*50;

this.amp[i]=Math.random()*50+50;

}

//console.log("a");

}

aneObj.prototype.draw=function()

{

this.alpha+=deltaTime*0.0008;

var l=Math.sin(this.alpha);

ctx2.save();

ctx2.globalAlpha=0.6;

ctx2.lineWidth=20;

ctx2.lineCap="round";

ctx2.strokeStyle="#3b154e";

for(var i=0;i<this.num;i++)

{

//beginPath,moveTo,lineTo,stoke,stokeStyle,lineWidth,lineCap,globalAlpaha

ctx2.beginPath();

ctx2.moveTo(this.rootx[i],canHeight);

this.headx[i]=this.rootx[i]+l*this.amp[i];

//console.log(l*this.amp[i]);

ctx2.quadraticCurveTo(this.rootx[i],canHeight-100,this.headx[i],this.heady[i]);

ctx2.stroke();

}

ctx2.restore();

}


var fruitObj=function()

{

this.alive=[];//bool

this.x=[];

this.y=[];

this.aneNO=[];

this.l=[];

this.spd=[];

this.fruitType=[];

this.orange=new Image();

this.blue=new Image();

}

fruitObj.prototype.num=30;

fruitObj.prototype.init=function()

{

for(var i=0;i<this.num;i++)

{

this.alive[i]=false;

this.x[i]=0;

this.y[i]=0;

this.aneNO[i]=0;

this.spd[i]=Math.random()*0.017+0.003;//[0.003,0.02)

this.fruitType[i]="";

}

this.orange.src="../tiny heart/src/fruit.png";

this.blue.src="../tiny heart/src/blue.png";

}

fruitObj.prototype.draw=function()

{

for(var i=0;i<this.num;i++)

{

//draw

//find an ane,grow,fly up

if(this.alive[i])

{

if(this.fruitType[i]=="blue")

{

var pic=this.blue;

}

else

{

var pic=this.orange;

}

if(this.l[i]<=14)

{

var NO=this.aneNO[i];

this.x[i]=ane.headx[NO];

this.y[i]=ane.heady[NO];

this.l[i]+=this.spd[i]*deltaTime;

}

else

{

this.y[i]-=this.spd[i]*7*deltaTime;

}

ctx2.drawImage(pic,this.x[i]-this.l[i]*0.5,this.y[i]-this.l[i]*0.5,this.l[i],this.l[i]);

if(this.y[i]<10)

{

this.alive[i]=false;

}

}

}

}

fruitObj.prototype.born=function(i)

{

this.aneNO[i]=Math.floor(Math.random()*ane.num);

this.l[i]=0;

this.alive[i]=true;

var ran=Math.random();

if(ran<0.3)

{

this.fruitType[i]="blue";//orange,blue;

}

else

{

this.fruitType[i]="orange";

}

}

fruitObj.prototype.dead=function(i)

{

this.alive[i]=false;

}

function fruitMonitor()

{

var num=0;

for(var i=0;i<fruit.num;i++){

if(fruit.alive[i])num++;

}

if(num<15)

{

//send fruit

sendFruit();

return;

}

}

function sendFruit()

{

for(var i=0;i<fruit.num;i++)

{

if(!fruit.alive[i])

{

fruit.born(i);

return;

}

}

}


写回答 关注

1回答

  • Leo60
    2016-10-20 13:27:22

    在main.js中当deltaTime预先给给定一个值得时候就可以了

    eg:var deltaTime=100;而不是只是定义一下而不给值


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

通过一个清新美好的小游戏教程,熟悉游戏开发流程

46272 学习 · 189 问题

查看课程

相似问题