我正在使用HTML5 Canvas制作平台游戏。我还没有主角,所以我现在正在使用一个球。我正试图让球不能通过草块。我正在使用一个列表来保存我的地图的值,然后使用2个if语句将列表的值转换为地图,所以我不知道如何检测球和草球之间的碰撞,考虑到草块可以在地图上的任何地方。
我的问题是:如何在没有硬编码的情况下在球和草块之间进行碰撞,它需要快速,如果我需要一个库,请在我的情况下展示如何使用它的示例
我的代码在这里:https://drive.google.com/open?id=0B7OJnVpBNrkDTlA0amdzMkdrRnM
答案 0 :(得分:0)
以下是您的问题的基本解决方案,您可以从中构建:
https://plnkr.co/edit/5c08NrVQh44hsq1BFX9X?p=preview
总结:
level1CanMove
的新多维数组,以提供球可以和不能移动的位置的参考。ballLocationCol
和ballLocationRow
值(但已注释掉),以确定球当前已经过了哪些牌。canMoveHere
函数检查球是否可以通过当前的牌,反之则是否反过来。<强> N.B。强> 如果你刚刚开始学习这个项目,那么一定要自己编写碰撞检测代码。但是,如果没有,您可能会发现,正如一些评论者已经建议的那样,使用游戏引擎会提高效率。