Tilemap中非完整图块上的碰撞检测

时间:2011-01-31 21:45:32

标签: cocos2d-iphone collision-detection

如果一个人从图块集创建一个图块地图并且有一些图块/方块没有完全填满,那么如何使这些半满的图块能够检测到碰撞?

很容易选择一个正方形区域并将其设置为例如碰撞是的

但是如何处理填充半块瓷砖的圆形边缘或刚刚进入瓷砖的三角形形状?

或者是否创建了一个完整的图层并将其设置为碰撞是的,那些图块不需要检查碰撞?

仍然,如何检测图层的碰撞?

谢谢

1 个答案:

答案 0 :(得分:1)

基于图块的系统的整体想法是填充整个图块。您当然可以将常规碰撞检测方法应用于切片,也可以按切片应用它们。

有些游戏允许建筑物填满整个瓷砖,但仍然有单位遍历瓷砖。这通常是通过取4个角点(以及两侧中心的4个点)并检查这些点中的几个点之间的线是否与任何东西碰撞来完成,如果这是真的,则单位可以行进这些线。

这通常是为每个可以占据图块的建筑物预先计算的。