0

我正在制作一个基本游戏来娱乐我的朋友。我还没有叫它任何东西,但它基本上是一个正方形追逐另一个正方形。红色方块为AI,白色方块为玩家控制。我已经解决了所有碰撞问题,并且效果很好。

我决定制作这个游戏的 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
4

1 回答 1

1

我找到了答案,如下所示:

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-07T11:19:04.800 回答