大家好,我正在尝试使用 jquery 和 jquery-collision 制作太空射击游戏。我几乎完成了,但一个问题是,每次我按下spacebar
拍摄它只会创建相同的 ID 和类的projectile
div。因此,如果第一个projectile
是在空白的一侧射击而另一个是朝敌人射击,那么在击中后它们两个会同时消失。以下是代码:
function spawnBullet() {
$("#content").append($("<div />")
.attr('id', 'projectile1')
.addClass("projectile")
.css({ "left" : $('#fighter').offset().left + 25, 'top' : $('#fighter').offset().top - 20 }));
}
function processBullet() {
$(".projectile").each(function() {
var maxTop = $(this).offset().top;
var breakable = $(".projectile").collision( "#boss" );
//console.log(maxTop);
$(this).css("top", maxTop - 3);
if (maxTop <= 110 || breakable.length != 0) {
$('#projectile1').remove();
$("#score").html(++score);
}
if (breakable.length != 0) {
breakable.remove();
sound.play();
spawnEnemy();
}
});
}
setInterval(processBullet, 50);
function shoot() {
$(document).keydown(function(event) {
switch (event.keyCode) {
case 32:
spawnBullet();
break;
}
});
}
我想为每个spawnBullet()
调用创建不同的基于 id 的 div。但我想不出任何想法。迫切需要帮助。肿瘤坏死因子。