Вот мой файл PlayerControlComponent. Я хочу, чтобы игрок двигался по горизонтали, когда мы нажимаем кнопки. Для этого я хочу, чтобы специальная функция обновления c выполнялась в другой функции обновления. Но второй не работает. Я пытался что-то напечатать в этой функции обновления, но ничего не оказалось ... Не могли бы вы помочь? Пожалуйста!
import SpriteKit
import GameplayKit
class PlayerControlComponent: GKComponent, ControlInputDelegate {
var touchControlNode: TouchControlInputNode?
var cNode: CharacterNode?
func setupControls (camera: SKCameraNode, scene: SKScene) {
touchControlNode = TouchControlInputNode(frame: scene.frame)
touchControlNode?.inputDelegate = self
touchControlNode?.position = CGPoint.zero
camera.addChild(touchControlNode!)
if cNode == nil {
if let nodeComponent = self.entity?.component(ofType: GKSKNodeComponent.self) {
cNode = nodeComponent.node as? CharacterNode
}
}
}
func follow(command: String?) {
if cNode != nil {
switch command! {
case "left":
cNode?.left = true
case "cancel left", "stop left":
cNode?.left = false
case "right":
cNode?.right = true
case "cancel right", "stop right":
cNode?.right = false
default:
print(command!)
}
}
}
override func update(deltaTime seconds: TimeInterval) {
super.update(deltaTime: seconds)
cNode?.stateMachine?.update(deltaTime: seconds)
}
}