慕用3104214
2017-06-02 16:16
有人帮我看下吗?果实不显示
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;
}
你再去看一下main.js这个文件,你的deltaTime这个变量是不是没有初始化,这个代码的问题就是你在deltaTime还没有初始化的时候就用了这个变量
我测试过了,问题出在this.l[i]+=0.01*deltaTime;这句代码上,经过这句代码之后this.l[i]变成了NaN
HTML5小游戏---爱心鱼(上)
92348 学习 · 551 问题
相似问题