问答详情
源自:2-6 果实绘制(果实数量控制)

把orange改成pic就不出果实了

var fruitObj =function(){

this.alive =[];//bool

this.x=[];

this.y=[];

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.spd[i]=Math.random()*0.017+0.003;//[0.005-0.01)

// this.born(i);

this.fruitType[i]="";

}

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

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

}

fruitObj.prototype.draw=function(){

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

if(this.alive[i] ){

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

var pic = this.blue;

}else{

var pic=this.orange;

}

if(this.l[i]<= 14){//判断当果实长到14的时候就停止长

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

}

else{//当果实张成熟了时y坐标就不断的减小,(出现想上漂浮的动作)

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

}

ctx2.drawImage(this.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){

var aneID =Math.floor(Math.random()*ane.num);

this.x[i] =ane.x[aneID];

this.y[i]=canHeight - ane.len[aneID];

this.l[i]=0;

this.alive[i]=true;

var ran =Math.random();

if(ran <0.2){

this.fruitType[i]="blue";

}else{

this.fruitType[i]="orange";

}

}

function fruitMontor(){

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;

}

}

}


提问者:慕粉4189368 2016-10-21 17:12

个回答

  • 码农2012
    2016-10-27 22:00:06
    已采纳

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

    去掉pic前面的.this