已跪,看了n遍视频,还看了所有评论,都没有问题啊,fruit还是画不出来,真心不好意思,麻烦懂的同学指点一下,万分感谢!以下是fruit.js源码--------------------
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.01 + 0.005;
this.fruitType[i] = "";
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.alive[i])
{
if(this.fruitType[i] == "blue")
{
var pic = this.blue;
}
else
{
var pic = this.orange;
}
if(this.l[i] <=14)
{
this.l[i] += this.spd[i] * deltaTime;
}
else{
this.y[i] -= this.spd[i] * 5 *deltaTime;
}
ctx2.drawImage(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] < (Math.random()*50 + 20))
{
this.alive[i] = false;
}
}
}
}
fruitObj.prototype.update = function()
{
var num = 0;
for (var i =0; i< this.num;i++)
{
if(this.alive[i])
num++;
}
}
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 run = Math.random();
if(run<=0.3)
{
this.fruiType[i] = "blue";
}
else
{
this.fruitType[i] = "orange";
}
}
fruitObj.prototype.dead = function()
{
this.alive[i] = false;
}
function fruitMonitor()
{
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;
}
}
}
求解决办法
。。。呃呃呃,不好意思,我已解决,哈哈!
并无报错,海葵画出来了,果实纠结两天了,已崩溃,实在没办法才麻烦各位看一下的,不好意思…