var?fruitObj?=?function()?{
????this.alive?=?[];
????this.x?=?[];
????this.y?=?[];
????this.l=[];
????this.spd=[];
????this.orange?=?new?Image();
????this.blue?=?new?Image();
}
fruitObj.prototype.num?=?30;
fruitObj.prototype.init?=?function()?{
????for(var?i?=?0;?i?<?this.num;?i++)?{
????????//?定義果實生命期為true,說白了就是顯示
????????this.alive[i]?=?true;
????????this.x[i]?=?0;
????????this.y[i]?=?0;
????????this.spd[i]?=?Math.random()?*?0.01?+?0.005;
????????//?遍歷30次,分別得到這30次果實的位置
????????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++)?{
????????if(this.alive[i]){
????????????//?繪制果實的圖片以及位置
????????????if(this.l[i]<=15){
????????????????this.l[i]?+=deltaTime?*?this.spd[i];
????????????}else?{
????????????????this.y[i]-=this.spd[i]?*?5?*?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]);
????????????if(this.y[i]<10){
????????????????this.alive[i]=false;
????????????}
????????}
????}
};
fruitObj.prototype.born?=?function(i)?{
????//?ane.num?==?50
????var?aneID?=?Math.floor(Math.random()?*?ane.num);
????//?使每個果實的橫坐標(biāo)對應(yīng)每個海葵的橫坐標(biāo)
????this.x[i]?=?ane.x[aneID];
????//?使每個果實的縱坐標(biāo)剛好在每個??纳厦?????this.y[i]?=?canHeight?-?ane.len[aneID];
????this.l[i]=0;
}
2018-09-21
我覺得有以下幾個原因:
1、html文件中沒有包含fruit.js
2、在主程序main.js中沒有調(diào)用畫果實的函數(shù)fruit.draw;
3、可能拼寫錯誤,比如prototype寫為了protoType,只要有一處這樣的錯誤,就會顯示不出來,這類錯誤在控制臺顯示不出來,比較難找。
4、...
2018-09-25
我把整個fruit.js文件刪掉重新寫突然就好了。感謝回答??!