游戏开发中的物理模拟与游戏玩法编程
1. 游戏对象基础类
在游戏开发中,游戏对象的结构通常较为复杂。游戏可能包含由多层移动对象(如山脉、空气、树木等)组成的背景,还有四处移动的交互对象,这些对象可能是玩家的敌人,需要一定的智能;也可能是更静态的,如道具、树木、门或梯子等。一个代表房屋的游戏对象可能由许多其他游戏对象组成,如门、楼梯、窗户和厨房等。
游戏对象通常形成一个层次结构,代表游戏世界。在 3D 游戏中,这种层次结构尤为重要,因为三维环境较为复杂。3D 游戏中的对象通常由一个或多个 3D 模型表示,而不是精灵。层次结构的优点是可以将这些对象组合在一起,例如拿起一个装有魔法卷轴的花瓶时,卷轴会随花瓶一起移动。
在之前的游戏开发示例中,基本的游戏对象类型由 ThreeColorGameObject 类表示。但如果要开发更大、更复杂的游戏,就需要摒弃游戏对象是三色精灵的基本前提。
在 SpriteKit 中,最基本的游戏对象是 SKNode 类型的对象。 SKNode 仅假设游戏对象是某种层次结构(代表游戏世界)的一部分。游戏对象类本身定义了游戏对象如何参与游戏循环。例如,在某个游戏中, Cannon 类处理与大炮相关的输入, Ball 类处理与球相关的输入,球的位置和任何游戏对象交互都在 Ball 类的 update 方法中处理。并且,每当游戏重新开始时,每个游戏对象都会重置为其原始状态。因此,游戏对象拥有 handleInput
超级会员免费看
订阅专栏 解锁全文

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



