请大神帮看看问题出在哪:fruitMonitor(),sendFruit()加上两函数后,黄色果实并没有连续生成,并且一次都没生成,在init初始化加入born函数后可以生成一次果实?

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

慕粉2022087623

2019-07-24 10:51

var fruitObj = function ()
{
    this.alive = [];//bool
    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++)
    {
        this.alive[i] = false;
        this.x[i] = 0;
        this.y[i] = 0;
        this.l[i] = 0;
        this.spd[i] = Math.random()*0.005+0.005;//[0.05,0.15)
        //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]<14)        
            {
                this.l[i] +=this.spd[i]*deltaTime;
            }else
            {
                this.y[i] -=this.spd[i]*7*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){
    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;
}
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(){
console.log("121212121");
    for (var i = 0; i<fruit.num;i++)
    {
        if(!fruit.alive[i])
        {
            fruit.born(i);
            return;
        }
    }
    
}



写回答 关注

2回答

  • Iris_Zhu
    2021-09-09 16:50:43

    http://img4.mukewang.com/6139ca380001ac9e06040229.jpg
    这一段的this.alive = true 改成 this.alive[i] = true

  • 慕神948715
    2021-01-22 15:42:18

    http://img1.mukewang.com/600a81cd000101d507210513.jpg在此处有问题

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

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

92348 学习 · 551 问题

查看课程

相似问题