課程
/前端開發(fā)
/HTML/CSS
/HTML5小游戲---愛心魚(上)
請問為什么我的果實完全不會動,也不會變大變小飄起來,編譯也沒報錯
2018-03-07
源自:HTML5小游戲---愛心魚(上) 2-5
正在回答
//繪制果實
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.l[i] = 0;
this.spd[i] = Math.random() * 0.017 + 0.003; ?//[0.003,0.02)
this.fruitType[i] = "";
this.orange.src = "./SRC/fruit.png";
this.blue.src = "./SRC/blue.png";
fruitObj.prototype.draw = function()
//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;
this.y[i] -= this.spd[i] * 7 * 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] < 10)
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.alive[i] = true;
var ran = Math.random();
if(ran < 0.2)
this.fruitType[i] = "blue"; ?//orange,blue
this.fruitType[i] = "orange";
fruitObj.prototype.dead = function(i)
function fruitMonitor()
var num = 0;
for(var i = 0; i < fruit.num; i++)
if(fruit.alive[i])
num++;
if(num < 15)
//send fruit
sendFruit();
return;
function sendFruit()
if(!fruit.alive[i])
fruit.born(i);
應(yīng)該是代碼有的地方打錯了,這個代碼是對的,你可以看一下
舉報
學(xué)做HTML5游戲,輕輕松松帶你上手,適合剛?cè)胧钟螒蜷_發(fā)的同學(xué)
6 回答果實不能顯示
1 回答第二次果實生成沒有變大過程!
1 回答果實慢慢變大
1 回答為什么果實生成不了
1 回答果實變大后消失
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2018-04-06
//繪制果實
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.l[i] = 0;
this.spd[i] = Math.random() * 0.017 + 0.003; ?//[0.003,0.02)
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++)
{
//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] * 7 * 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] < 10)
{
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 ran = Math.random();
if(ran < 0.2)
{
this.fruitType[i] = "blue"; ?//orange,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)
{
//send fruit
sendFruit();
return;
}
}
function sendFruit()
{
for(var i = 0; i < fruit.num; i++)
{
if(!fruit.alive[i])
{
fruit.born(i);
return;
}
}
}
應(yīng)該是代碼有的地方打錯了,這個代碼是對的,你可以看一下