我有一个基本的 Space Invaders 类型的游戏,我无法识别玩家的射击何时击中外星人。(我只检查 Alien2 atm,左起一秒)。由于它们都在移动,我决定检查碰撞的唯一方法是使用基于范围的 if 语句(具有 2 个顶部坐标和一个左侧坐标),或者直接将沿 Y 轴的位置与 Jquery 进行比较。
我目前正在使用基于范围的解决方案,但到目前为止它还没有奏效(不知道为什么)。
到目前为止我的代码:
if (key == "87"/*&& document.getElementById('BarrelOne').id=='BarrelOne'*/){
var Invader2 = document.getElementById('Alien2');
var Shot1 = document.getElementById('ShortShot');
Shot1.style.webkitAnimationPlayState="running";
setTimeout(function(){
Shot1.style.webkitAnimationPlayState="paused";
}, 1200);
if(document.elementFromPoint(625.5, 265.5) == Shot1){
Invader2.style.visibility="hidden";
}
};
小提琴: