美好的一天,我正在尝试制作一个jquery游戏,在一群敌人被摧毁后,一群敌人会产卵。我打电话给alien_cruiser()
功能&在minion_roulette()
获得0之后解除绑定minion_roulette_counter
函数。但每次运行时,函数都不会解除绑定&在计数器获得0后,两种类型的敌人都显示出来。我想逐个运行它们。以下是代码:
var sound = new Audio("sounds//dishoom.ogg");
var score = 0;
var minion_roulette_life = 10;
var cruiser_life = 20;
var minion_roulette_counter = 3;
var cruiser_counter = 3;
function processBullet() {
$(".projectile").each(function() {
var maxTop = $(this).offset().top;
var breakable1 = $(this).collision("#minion-roulette");
var breakable2 = $(this).collision("#cruiser");
$(this).css("top", maxTop - 25);
if (breakable1.length != 0 || breakable2.length != 0) {
$(this).remove();
}
if (maxTop <= 35) {
$(this).remove();
}
if (breakable1.length != 0) {
--minion_roulette_life;
if (minion_roulette_life == 0) {
sound.play();
breakable1.remove();
minion_roulette(true);
minion_roulette_counter--;
$("#score").html(++score);
minion_roulette_life = 10;
}
}
//This is the place where it checks if counter is 0 or not
if (minion_roulette_counter == 0) {
$('#content').unbind(function() {
minion_roulette(false)
});
alien_cruiser(false);
minion_roulette_counter = -1;
}
if (breakable2.length != 0) {
--cruiser_life;
if (cruiser_life == 0) {
sound.play();
breakable2.remove();
alien_cruiser(true);
$("#score").html(++score);
cruiser_life = 20;
}
}
});
}
我在这里做错了吗?请严格要求解决方案。 TNX。
答案 0 :(得分:1)
在这种情况下,您可以使用条件语句来确定要调用的函数。 例如:
if (minion_roulette_counter == 0) {
alien_cruiser();
}
else {
minion_roulette();
}
不幸的是,绑定和取消绑定不会“关闭”某个功能。引用MDN:
bind()
方法创建一个新函数,在调用时,将其this
关键字设置为提供的值,并在调用新函数时提供任何前面提供的给定参数序列。 / p>