可以看出我哪边错了么 我找了好久 if (this.alive[i]) {}这个一加进去就泡泡就出不来了

来源:2-5 果实绘制(果实上浮)

qq_皮儿_0

2016-04-12 13:59

/**
* Created by lina.zheng on 2016/4/12.
*/
var fruitObj=function () {
   this.alive=[]
   this.x=[];
   this.y=[];
   this.l=[];
   this.spd=[];
   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=true;
       this.x[i]=0;
       this.y[i]=0;
       this.l[i]=0;
       this.spd[i]=Math.random()*0.01+0.005;//从0.005-0.015
       this.bron(i);//所有果实出身
   }
   this.orange.src="./src/fruit.png"
   this.orange.src="./src/blue.png"
}
fruitObj.prototype.draw=function () {
   for(var i=0;i<this.num;i++) {
       //画果实
       if (this.alive[i]) {
           if (this.l[i] <= 14) {
               this.l[i] += this.spd[i] * deltaTime;
           }
           else {
               this.y[i] -= this.spd[i] * 7 * deltaTime;
           }
           ctx2.drawImage(this.orange, 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.bron=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;
}


// fruitObj.prototype.update=function () {
//     var num=0;
//     for(var i=0;i<this.num;i++){
//         if (this.alive[i])num++;
//     }
// }




写回答 关注

1回答

  • 千年虫v
    2016-04-22 14:34:22

    this.alive=true; 

    应该这样写: this.alive[i]=true; 

    给数组中的元素赋值,而不是给整个数组赋值

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

学做HTML5游戏,轻轻松松带你上手,适合刚入手游戏开发的同学

92348 学习 · 551 问题

查看课程

相似问题