如果你看到我游戏的这个链接:
http://www.youtube.com/watch?v=HMWl8D_OwyM
如果你看到这个,你会看到角色可以走到任何地方..我想添加一些碰撞,所以他只能在路上行走..是否有一些可能的方法来做到这一点而不会造成碰撞.txt将它加载到数组??
或者我如何以最好的方式解决这个问题? (级别从图片中加载)
答案 0 :(得分:2)
如果等级是纹理,则可以对纹理进行采样,使角色仅在某些曲面上行走;或者你可以创建一个单独加载的碰撞掩码,纯粹用于碰撞检测。
如何实现这一点取决于您;只需定义一个备用数据结构来包含所有碰撞对象的边界框,这可能是最简单的(而且效率最高)。
修改强>
反向可能是更容易的方法;而不是定义对象,定义角色可用的路径。这将严重限制自由漫游能力,但可能适用于您的示例。
<强> EDIT2:强>
这些不是简单的解决方案:您可能更好地重新计算您的关卡数据;不要只使用BITMAP,也许要看一个简单的基于tile的解决方案。
这样可以更容易地区分表面,纹理和对象;因此,碰撞检测。