Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JS游戏(Duck Hunt)将.png文件添加到特定级别_Javascript - Fatal编程技术网

Javascript JS游戏(Duck Hunt)将.png文件添加到特定级别

Javascript JS游戏(Duck Hunt)将.png文件添加到特定级别,javascript,Javascript,我正在尝试在经典的猎鸭游戏中添加不同的角色到不同的关卡。我从git hub()获得了原始源代码,现在有3个级别,并通过将它们添加到css中为这些级别创建了不同的.png文件,但是我不确定在JS脚本中的何处调整代码,以便每个级别都有不同的字符?我猜我需要一个使用每个级别ID的if语句 这是它在JS中拾取鸭子(duckA/B)的地方 {var e=t%2===0?"duckA":"duckB";this.duckMax++,this.liveDucks.push(new Duck(this.duck

我正在尝试在经典的猎鸭游戏中添加不同的角色到不同的关卡。我从git hub()获得了原始源代码,现在有3个级别,并通过将它们添加到css中为这些级别创建了不同的.png文件,但是我不确定在JS脚本中的何处调整代码,以便每个级别都有不同的字符?我猜我需要一个使用每个级别ID的if语句

这是它在JS中拾取鸭子(duckA/B)的地方

{var e=t%2===0?"duckA":"duckB";this.duckMax++,this.liveDucks.push(new Duck(this.duckMax.toString(),e,this.level.speed,this.playfield).fly())}},
killDuck:function(t){this.levelStats.ducksKilled+=1,this.liveDucks=_(this.liveDucks).reject(function(e){return e.id===t.id}),
0===this.liveDucks.length&&this.playfield.trigger("wave:end",this.curWave)},
drawDucks:function(){var t="",e=this.level.ducks*this.curWave-this.levelStats.ducksKilled;e=e>25?25:e;
这就是水平

levels=[
{id:1,title:"Level 1",waves:1,ducks:10,pointsPerDuck:100,speed:2,bullets:15,time:25},
{id:2,title:"Level 2",waves:1,ducks:10,pointsPerDuck:150,speed:4,bullets:15,time:20},
{id:3,title:"Level 3",waves:1,ducks:10,pointsPerDuck:200,speed:6,bullets:15,time:18}],
我想在2级(id 2)上有duckC/D,在3级(id 3)上有duckE/F。。。。有人能帮忙吗

编辑:

因此,我调整了duckhunt.min.js中的代码部分,如下所示,但是只加载默认的两个ducks?知道为什么吗

Duck.prototype.hatch=function(){
$('<div id="'+this.id+'" class="duck1 '+this.className+'"></div>').appendTo(this.game),
this.DOM=$("#"+this.id),
this.bindEvents()
$('<div id="'+this.id+'" class="duck2 '+this.className+'"></div>').appendTo(this.game),
this.DOM=$("#"+this.id),
this.bindEvents()},

releaseDucks:function(){
for(var t=0;t<this.level.ducks;t++)
{var e=t%2===0?"duckA":"duckB";
this.duckMax++,
this.liveDucks.push(new Duck(this.duckMax.toString(),e,this.level.speed,this.playfield).fly())
}
{var e=t%2===0?"duckC":"duckD";
this.duckMax++,
this.liveDucks.push(new Duck(this.duckMax.toString(),e,this.level.speed,this.playfield).fly())
}
},
Duck.prototype.hatch=function(){
$('').appendTo(this.game),
this.DOM=$(“#”+this.id),
这是bindEvents()
$('').appendTo(this.game),
this.DOM=$(“#”+this.id),
这个.bindEvents()},
releaseDucks:function(){

对于(var t=0;t,您可以在
duck.js
中看到为duck创建DOM元素的位置

Duck.prototype.hatch = function(){

    $('<div id="'+this.id+'" class="duck '+this.className+'"></div>').appendTo(this.game);
    this.DOM = $("#"+this.id);
    this.bindEvents();
};

然后,将你的类命名为
duck1
duck2
duck3
,…并按照原始repo中的样式设置它们!

嗨,我已经更新了我的原始帖子,我已经将ducks C/D添加到css中,并更新了代码部分,但是解除的ducks仍然在加载,你能再进一步帮助一下吗?我做错了什么?@Dave嘿,确保修改
e
(var duckClass)的值基于这个级别,就像在我的示例中一样。但是,如果你使用源文件而不是缩小版本,你会发现这要容易得多。嗨,J4G,我似乎仍然无法显示任何其他.png文件?我不知道为什么当我只更改duckhunt.min.js时可以看到更改?我们是否可以在聊天室或其他地方交谈?嗨,J4G,我想我就快到了!我现在已经从主脚本运行了它,但是duck类在哪里?一旦我知道了这一点,我就可以添加duck2等(我只能在css中找到Ducks)?不,我完全理解你的意思,并且已经用.duck和.duck2更新了我的css,但是它在第二级继续使用第一个.png文件(.duck)?
releaseDucks : function(){
    for(var i=0;i<this.level.ducks;i++){
        var duckClass = "duck"+this.level.id; //This is different!
        this.duckMax++;
        this.liveDucks.push(new Duck(this.duckMax.toString(),duckClass,this.level.speed,this.playfield).fly());
    }
},