如何使用 GameplayKit State Machine 制作精灵动画?
How can I use GameplayKit State Machine for sprite animation?
我有两个动画供玩家 运行 和跳跃。我可以使用 GameplayKit 的状态机来控制这些动画吗?如果是这样,如何?在这个项目中,我将 SpriteKit 和 GameplayKit 用于实体组件架构和状态机。
您需要先设置 StateMachine 并填写您的自定义 类
self.playerStateMachine = GKStateMachine(states: [
PlayerRunning(player),
PlayerJumping(player)
])
然后需要进入状态时,可以with:
self.playerStateMachine?.enter(PlayerRunning.self)
您可以在状态上执行以下更改:
override func didEnter(from previousState: GKState?) {
self.player?.run(runAnimation)
}
示例:
我有两个动画供玩家 运行 和跳跃。我可以使用 GameplayKit 的状态机来控制这些动画吗?如果是这样,如何?在这个项目中,我将 SpriteKit 和 GameplayKit 用于实体组件架构和状态机。
您需要先设置 StateMachine 并填写您的自定义 类
self.playerStateMachine = GKStateMachine(states: [
PlayerRunning(player),
PlayerJumping(player)
])
然后需要进入状态时,可以with:
self.playerStateMachine?.enter(PlayerRunning.self)
您可以在状态上执行以下更改:
override func didEnter(from previousState: GKState?) {
self.player?.run(runAnimation)
}
示例: