为了账号安全,请及时绑定邮箱和手机立即绑定

果实不显示

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


 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;

 }


正在回答

2 回答

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

0 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~
#1

liubaobei1992

那么如何改???
2017-06-06 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
HTML5小游戏---爱心鱼(上)
  • 参与学习       92353    人
  • 解答问题       550    个

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

进入课程

果实不显示

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信