【发布时间】:2012-03-27 01:49:14
【问题描述】:
我正在尝试构建一个类似太空入侵者的游戏(因为我在 5 天前才开始编写代码),如果鞋子撞到僵尸,僵尸会消失并重新出现在屏幕顶部(再次下来)。我只是似乎无法让僵尸回到顶部(它们保持在动画的最低点)
下面是碰撞测试:
function zombietestCollision(position1, size1, position2, size2) {
if (((position1.left + size1.width) > position2.left) &&
((position1.top + size1.height) > position2.top) &&
((position2.left + size2.width) > position1.left) &&
((position2.top + size2.height) > position1.top)) {
function loop () {
movedown($zombie);
moveup($zombie);
};
$(function zombieloop() {
setInterval( loop, 1 );
});
}
}
我已经在僵尸的向下移动中包含了这个测试
// down movement of the zombies
function movedown($zombie) {
$zombie.animate({
'left': 300,
}, {
duration:5000,
step:function(){
$.each($("#zombie"), function(index,zombie) {
var $zombie = $(zombie);
var $shoe = $("#shoe");
var shoeSize = {
height: $shoe.height(),
width : $shoe.width()
};
var zombieSize = {
height: $zombie.height(),
width : $zombie.width()
};
zombietestCollision($shoe.position(), shoeSize, $zombie.position(), zombieSize);
});
}
当我运行它时,屏幕只是空白。我做对了什么? 如果需要,这里是完整代码:http://jsfiddle.net/JKd9K/7/
抱歉,我对编程完全陌生,所以我很难理解我做错了哪一部分。干杯!
【问题讨论】:
标签: javascript jquery loops collision-detection