两名球员之间的碰撞

我正在制作一个基本的游戏来取悦我的朋友。我还没有给它起名字,但基本上它是一个正方形追逐另一个正方形。红色正方形是人工智能,白色正方形由玩家控制。我已经解决了它的碰撞问题,它完美地运作。

我决定制作这个游戏的2人版本。所以我只是将文件复制到另一个文件夹,并将它变成了一个2人游戏。一切都很好,除了碰撞问题。 我有与单人版本完全相同的碰撞问题,但不知何故,碰撞不总是起作用。它是有毛病的,有时候只有当它们接触到玩家的右侧时才会起作用,有时候是左侧。无法确定会发生什么。

无论如何,这是我的死亡检查代码。我在main.lua中调用它,在love.update()中。

death.check=function()
    for _,enemy in ipairs(enemy) do
        for _,player in ipairs(player) do
            if ((enemy.x+enemy.w>player.x and enemy.x+enemy.w<(player.x+player.w)) and
            (enemy.y+enemy.h>player.y and enemy.y+enemy.h<(player.y+player.h))) then
                death.state=true
            end
        end
    end
end
点赞
用户2036003
用户2036003

我找到了答案,代码如下:

for _,o in ipairs(enemy) do
    for _,i in ipairs(player) do
        if (o.x+o.w>i.x and o.x<i.x+i.w and
        o.y+o.h>i.y and o.y<i.y+i.h)  then
            death.state=true
        end
    end
end
2013-05-07 11:19:04