为了账号安全,请及时绑定邮箱和手机立即绑定

为什么果实显示不出来呢?

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);
    // 使每个果实的横坐标对应每个海葵的横坐标
    this.x[i] = ane.x[aneID];
    // 使每个果实的纵坐标刚好在每个海葵的上面
    this.y[i] = canHeight - ane.len[aneID];
    this.l[i]=0;
}


正在回答

2 回答

我觉得有以下几个原因:

1、html文件中没有包含fruit.js

2、在主程序main.js中没有调用画果实的函数fruit.draw;

3、可能拼写错误,比如prototype写为了protoType,只要有一处这样的错误,就会显示不出来,这类错误在控制台显示不出来,比较难找。

4、...


0 回复 有任何疑惑可以回复我~

我把整个fruit.js文件删掉重新写突然就好了。感谢回答!!

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
HTML5小游戏---爱心鱼(上)
  • 参与学习       92353    人
  • 解答问题       550    个

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

进入课程

为什么果实显示不出来呢?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信