1

我正在创建一个 2d 横向滚动游戏并且对碰撞有疑问。我一直在阅读各种文章,其中一些说你应该有一个碰撞层,它与瓦片层的样式完全相同,但只是存储位。我理解这个逻辑,但是如果我的图块实际上是包含一个名为IsSolid. 我可以不简单地检查当前图块isSolid而不是另一个图层吗?或者有一个碰撞层是否提供了我错过的更多好处?

谢谢你的帮助

4

1 回答 1

5

如果您的游戏支持多层,这真的很重要。

如果您有多个视觉层(例如:背景、运动场、前景),那么能够以相同的方式处理所有这些层会很有帮助。分离出碰撞数据在结构上可能是“不错的”。

你如何做到这一点取决于你。您可以实现一个单独的碰撞层,您可以单独编辑它。但是我建议不要这样做,因为这样你就必须让你的碰撞层与你的视觉“运动场”层保持同步。

更好的解决方案是,当您加载关卡时,通过从您的运动场层(可能还有其他层,如果这对您的游戏有意义)中提取数据来动态生成一个碰撞“层”。您可能会以完全不同的格式存储此“层”,并将其放置到关卡的可视数据中。

于 2010-08-10T03:22:36.787 回答