果实出不来,也没有报错是怎么回事,求指教

来源:2-6 果实绘制(果实数量控制)

慕莱坞0504193

2019-06-23 00:21

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.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 = true;

    var ran = Math.random();

    if(ran < 0.2)

    {

        this.fruitType[i] = "blue";

    }

    else

    {

        this.fruitType[i] = "orange";

    } 

}

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;

    }

    }

}


写回答 关注

0回答

还没有人回答问题,可以看看其他问题

HTML5小游戏---爱心鱼(上)

学做HTML5游戏,轻轻松松带你上手,适合刚入手游戏开发的同学

92348 学习 · 551 问题

查看课程

相似问题