timeInterval update fun c проблема. Игрок исчезает - PullRequest
0 голосов
/ 26 марта 2020

Эта игра:

Снимок экрана игры

Когда я пишу этот код .. Игрок исчезает ..

Переменные:

var previousTimeInterval: TimeInterval = 1
var playerIsFacingRight = true
let playerSpeed = 4.0

Код:

extension GameScene {
    override func update(_ currentTime: TimeInterval) {
        let deltaTime = currentTime - previousTimeInterval
        previousTimeInterval = currentTime

        //Player Movement
        guard let joystickKnob = joystickKnob else { return }
        let xPosition = Double(joystickKnob.position.x)
        let displacement = CGVector(dx: deltaTime * xPosition * playerSpeed, dy: 0)
        let move = SKAction.move(by: displacement, duration: 0)
        player?.run(move) 

    }
}

Скриншот игры

1 Ответ

0 голосов
/ 26 марта 2020

Метод обновления запускается много раз.

Вероятно, он исчез из-за слишком большого количества действий для перемещения игрока.

  • Вы можете выполнить отладку внутри обновления и проверить player ? .position
  • Проверьте игрока? .zPosition игрока, если тот же фон может располагаться позади.
  • Вы можете использовать Xcode "Отладочный вид иерархия ", чтобы увидеть, где находится игрок.
...