问答详情
源自:2-5 果实绘制(果实上浮)

果实不显示

有人帮我看下吗?果实不显示


 var fruitObj = function()

 {

  this.alive = []; //bool

  this.x = [];

  this.y = [];

  this.l = [];

  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] = true;

     this.x[i] = 0;

     this.y[i] = 0;

     this.born(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++)

  {  

  //draw

  // find an ane, grow, fly up

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

  this.l[i] += 0.01 * deltaTime; //保证游戏动作的流畅与连贯

  }

  else{

  this.y[i] -= 0.01 * 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]);

  }

 }

 fruitObj.prototype.born = function(i)

 {

  var aneID = Math.floor(Math.random() * ane.num); //海葵坐标

  this.x[i] = ane.x[aneID];        //果实的x坐标

  this.y[i] = canHeight - ane.len[aneID];    ////果实的y坐标

    this.l[i] = 0;

 }


提问者:慕用3104214 2017-06-02 16:16

个回答

  • qq_简笔_0
    2017-06-11 12:48:08

    你再去看一下main.js这个文件,你的deltaTime这个变量是不是没有初始化,这个代码的问题就是你在deltaTime还没有初始化的时候就用了这个变量

  • qq_简笔_0
    2017-06-03 08:34:42

    我测试过了,问题出在this.l[i]+=0.01*deltaTime;这句代码上,经过这句代码之后this.l[i]变成了NaN