游戏开发:更新碰撞掩码与实体组件架构实践
1. 更新玩家碰撞掩码
首先,我们要更新玩家的碰撞掩码。具体操作如下:
- 打开 GameScene.sks 文件,选中玩家节点。
- 在属性检查器中,将碰撞掩码(Collision Mask)的值设置为 2,这个值与之前为瓦片地图节点体的 categoryBitMask 属性所使用的值相同。
完成上述设置后,构建并运行项目,你会看到玩家与地牢墙壁的交互情况,同时也能注意到之前添加的动画火焰。借助瓦片地图,玩家有了更大的探索空间;而通过用户数据,我们可以识别瓦片并设置物理体,使得玩家能够靠近墙壁边缘但无法穿过,非常实用。
2. 实体 - 组件设计模式
在游戏开发中,如何规划和设计游戏架构对游戏的可维护性和可扩展性至关重要。随着游戏规模的增大,我们需要考虑项目的文件组织以及如何管理游戏中的不同对象和类。接下来,我们将在“Val’s Revenge”游戏中使用实体 - 组件(Entity - Component)设计模式。
实体 - 组件设计模式(也称为实体组件系统,ECS)是游戏设计中常见的架构,它采用基于组合的设计模式,而非基于继承的设计模式。这两种设计模式的区别常常让人困惑,尤其是对于初学者。
为了更好地理解基于组合的设计模式与基于继承的设计模式的差异,我们来看一个例子。假设游戏中有两种怪物,一种怪物可以向玩家射击并移动,另一种怪物只能射击。
如果使用基于继承的设计模式,我们可能会创建一个基础的 Monster 类,包含一些共享属性,如
游戏开发:碰撞掩码与ECS实践
超级会员免费看
订阅专栏 解锁全文
31

被折叠的 条评论
为什么被折叠?



