這是我第一次探索使用JavaScript構建遊戲的jQuery和gameQuery,所以我問了一些可能看起來很幼稚的東西,但我真的無法得到它。gameQuery碰撞檢測
我正在開發一個像太空侵略者這樣的遊戲,探測玩家導彈和敵人之間的碰撞不工作。
這是我的代碼:
我的敵人類
function Enemy(node){
this.node = $(node);
this.pts_value = 0;
return true;
}
這是我使用到下添加10個或敵精靈彼此代碼的定義。敵人一起移動到左邊,
$.each(new Array(10), function(index, value) {
$("#enemy_group").addSprite("enemy2_"+index,{animation: enemies[2],
posx: index * 55, posy: 0, width: 48, height: 48})
$("#enemy2_"+index).addClass("enemy");
$("#enemy2_"+index)[0].enemy = new Enemy($("#enemy2_"+index));
$("#enemy2_"+index)[0].pts_value = 150;
});
所以當我需要移動的敵人,我的敵人一起移動的權利,我動議包括所有的精靈「#enemy_group」
if(ENEMY_TO_RIGHT){
var enemiesNewPos = (parseInt($("#enemy_group").css("left"))) + ENEMY_SPEED;
if(enemiesNewPos < PLAYGROUND_WIDTH - 550){
$("#enemy_group").css("left", ""+enemiesNewPos+"px");
} else {
ENEMY_TO_RIGHT = false;
}
} else {
var enemiesNewPos = (parseInt($("#enemy_group").css("left"))) - ENEMY_SPEED;
if(enemiesNewPos > 0){
$("#enemy_group").css("left", ""+enemiesNewPos+"px");
} else {
ENEMY_TO_RIGHT = true;
}
}
組
終於碰撞檢測,我想刪除敵方精靈的玩家導彈擊中,每枚導彈精靈有一個附加的類名「.playerMissiles」
$(".playerMissiles").each(function(){
var posy = parseInt($(this).css("top"));
if(posy < 0){
$(this).remove();
return;
}
$(this).css("top", ""+(posy - MISSILE_SPEED)+"px");
//Test for collisions
var collided = $(this).collision(".enemy, .group");
if(collided.length > 0){
//An enemy has been hit!
collided.each(function(){
$(this).setAnimation(enemies[0], function(node){$(node).remove();});
})
}
});
我是弗洛請閱讀gameQuery網站上的文檔教程。
讚賞任何幫助,謝謝,
感謝您的幫助,但問題以其他方式解決 –