我目前正在编写我的第一个游戏,并在 Javascript+HTML5 Canvas 中进行。该游戏是一款带有 WASD 动作的自上而下的点击动作射击游戏。无论如何,昨天我完成了使用圆和四叉树实现碰撞检测以最小化比较。我把所有的子弹、玩家和敌人都扔进了四叉树。现在,一切正常,但我不确定如何处理下一步,即处理实际级别的碰撞。子弹应该被墙壁挡住,演员(玩家和敌人)应该被栅栏和墙壁挡住,等等。
我是否应该定义形状来表示我的关卡的墙壁并将它们作为对象形式包含在四叉树中,然后使用 SAT 来评估每个元素与它可能发生碰撞的任何事物,或者是否有其他方法,例如创建隐藏图像概述路径的图层,然后测试每个对象的坐标以确保它不会落在黑色像素上(这表明它正在与不动的地形相撞)?
谢谢。