Функция обновления My PlayerControlComponent не отвечает - PullRequest
0 голосов
/ 18 июня 2020

Вот мой файл 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)
    }

}
...