对象冲突HTML5 Canvas

时间:2016-08-31 15:42:10

标签: javascript html5 canvas collision

我正在使用HTML5 Canvas制作平台游戏。我还没有主角,所以我现在正在使用一个球。我正试图让球不能通过草块。我正在使用一个列表来保存我的地图的值,然后使用2个if语句将列表的值转换为地图,所以我不知道如何检测球和草球之间的碰撞,考虑到草块可以在地图上的任何地方。

我的问题是:如何在没有硬编码的情况下在球和草块之间进行碰撞,它需要快速,如果我需要一个库,请在我的情况下展示如何使用它的示例

我的代码在这里:https://drive.google.com/open?id=0B7OJnVpBNrkDTlA0amdzMkdrRnM

1 个答案:

答案 0 :(得分:0)

以下是您的问题的基本解决方案,您可以从中构建:

https://plnkr.co/edit/5c08NrVQh44hsq1BFX9X?p=preview

总结:

  • 我创建了一个名为level1CanMove的新多维数组,以提供球可以和不能移动的位置的参考。
  • 我已经使用了您已经拥有的ballLocationColballLocationRow值(但已注释掉),以确定球当前已经过了哪些牌。
  • 然后,我们通过新的canMoveHere函数检查球是否可以通过当前的牌,反之则是否反过来。

<强> N.B。 如果你刚刚开始学习这个项目,那么一定要自己编写碰撞检测代码。但是,如果没有,您可能会发现,正如一些评论者已经建议的那样,使用游戏引擎会提高效率。