我的果實沒出來,沒有報錯。
var fruitObj=function()
{
this.alive=[];//bool
this.x=[];
this.y=[];
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
ctx2.drawImage(this.orange,this.x[i],this.y[i]);
}
}
fruitObj.prototype.born=function(i)
{
var aneID=Math.floor(Math.random()*ane.num);
this.x[i]=ane.x[aneID];
this.y[i]=ane.canHeight-ane.len[aneID];
}
2016-06-28
代碼沒報錯就是邏輯問題 可能是你的draw()沒放到主函數main里 也可能是你的出生代碼無效
我的 你對比下吧
var fruitObj=function()
{
this.alive=[];//bool
this.y=[];
this.x=[];
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.017+0.003;//[0.005,0.015)
? ? ? ? this.fruitType[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++)
{
if(this.alive[i])//為什么不是this。alive[i]=true
{
if(this.fruitType[i]=="blue")
{
var pic=this.blue;
}
else{
var pic =this.orange;
? ?}
if(this.l[i]<15)
{
this.l[i]+=this.spd[i]*daltaTime;
}
else
{
this.y[i]-=this.spd[i]*7*daltaTime;
}
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.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.fruitType[i]="blue";
? ? }
? ? else{
? ? this.fruitType[i]="orange";
? ? ? ? }
}
fruitObj.prototype.dead=function(i)
{
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;
? ? ??
? ? ? ? ? ?}
? ? } ??
}
2017-06-14
我的也沒有顯示,,,嗚嗚嗚
2016-07-20
已經過了很久我才看到消息 也不知道你解決了沒 ?解決了就當我沒說 ? 如果沒有你可以 ?用console.log("路過"); 也就是在不同的地方用打印一些漢字看看那些地方執(zhí)行了 ?那里沒執(zhí)行 ?