您的位置:首页 > 产品设计 > UI/UE

大鱼吃小鱼游戏-fruit.js

2015-11-30 19:29 429 查看
// 定义果实对象类
var fruitObj = function()
{
this.alive = [];            //果实生命状态的布尔bool
this.orange = new Image();  //橙色果实
this.blue = new Image();    //蓝色果实
this.x = [];                //果实x坐标
this.y = [];                //果实y坐标
this.aneNO = [];
this.fruitLargen = [];      //果实生长大小变化量
this.spd = [];              //果实生长速度、上浮速度的随机处理hi
this.fruitType = [];        //定义果实类型,用于区分橙色果实和蓝色果实。
}
// 预设果实在画布中的数量为30个
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.03,0.2)
//this.born(i);
this.aneNO[i] = 0;

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] = true)
{
if(this.fruitType[i] == "blue")
{
var pic = this.blue;
}
else
{
var pic = this.orange;
}

if(this.fruitLargen[i] < 15) //果实的半径
{
var NO = this.aneNO[i];
this.x[i] = ane.headx[NO];
this.y[i] = ane.heady[NO];
this.fruitLargen[i] += this.spd[i] *5  ;    //果实生长的速度
}
else
{
this.y[i] -= this.spd[i] *7 * deltaTime;    //果实漂浮的速度
}
/*画出果实生长、漂浮过程*/
ctx2.drawImage(pic, this.x[i] - this.fruitLargen[i] * 0.5, this.y[i] - this.fruitLargen[i] * 0.5, this.fruitLargen[i], this.fruitLargen[i]);
if(this.y[i] < 10){
this.alive[i] = false;
}

}

//console.log('deltaTime');
}
}
// 果实出生函数,果实随机生长在一个海葵上
fruitObj.prototype.born = function(i)
{
//var aneId = Math.floor(Math.random() *ane.num);//随机获取一个海葵,让果实在这个海葵上出生
this.aneNO[i] = Math.floor(Math.random() * ane.num);
//this.x[i] = ane.headx[aneId];
//this.y[i] = ane.heady[aneId];
this.fruitLargen[i] = 0 ;
this.alive[i] = true;
var ran = Math.random() ;
//console.log(aneId);
//console.log(ran);
if(ran < 0.3)
{
this.fruitType[i] = "blue";
}
else
{
this.fruitType[i] = "orange";
}

//console.log("ran");
}
fruitObj.prototype.dead =function(i)
{
this.alive[i] = false;
}

// 果实监视功能,监视屏幕上有多少个活着的果实,如果果实少于15个,发出一个果实。
function fruitMonitor()
{
var number = 0;
for(var i = 0; i < fruit.num; i++)
{
if(fruit.alive[i]) number++;

if (number < 15)
{
sendFruit();
//return;
}

//sendFruit();

}

}
// 发出果实前进行判断,
function sendFruit ()
{
for(var i = 0; i < fruit.num; i++)
{
if(!fruit.alive[i])
{
fruit.born(i);
return;
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  游戏 对象 h5