问答详情
源自:3-7 水澡长在海葵上面

水草不能浮动了

// JavaScript Document

var aneObj=function(){

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;

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

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

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

}

}

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++){

ctx2.beginPath();

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

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

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

ctx2.stroke();

}

ctx2.restore();

}


// JavaScript Document

var fruitObj=function(){

this.alive=[];

this.x=[];

this.y=[];

this.aneNO=[];

this.l=[];

this.spd=[];

this.fruitTpye=[];

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;

this.fruitTpye[i]="";

}

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

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

}

fruitObj.prototype.draw=function(){

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

if(this.alive[i]){

if(this.fruitTpye[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.2){

this.fruitTpye[i]="blue";

}

else{

this.fruitTpye[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){

sendFruit();

return;

}

}

function sendFruit(){

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

if(!fruit.alive[i]){

fruit.born(i);

return;

}

}

}


提问者:1348448970 2016-01-21 20:35

个回答

  • 冰山大叔
    2016-01-27 12:51:47
    已采纳

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

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

    是不是l写成1了