【问题标题】:timeInterval update func problem. Player disappearstimeInterval 更新函数问题。玩家消失
【发布时间】:2020-03-25 23:31:19
【问题描述】:

这个游戏:

Game Screenshot

当我写这段代码时..播放器消失了..

变量:

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) 

    }
}

Game Screenshot

【问题讨论】:

  • 发布您创建的代码并将您的角色添加到场景中

标签: swift xcode sprite-kit


【解决方案1】:

更新方法运行多次。

很可能是因为玩家移动的太多动作而消失了。

  • 您可以在更新中调试并检查 player?.position
  • 查看播放器的player?.zPosition,是否与背景相同可以定位到后面。
  • 您可以使用 Xcode“调试视图层次结构”查看播放器在哪里。

【讨论】:

  • 我检查了 player?.zPosition "Optional(0.0)"
  • 请帮帮我先生。我可以把我的项目分享给你。
  • 我向您发送了请求。谢谢
  • @Maetschl 它通过在其他场所帮助 OP 来破坏 SO 的目的。其他人应该如何从中学习
  • @RonMyschuk 你是对的 :) 但我发布了一个诚实的答案,他可能可以解决这个问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-17
  • 1970-01-01
  • 1970-01-01
  • 2014-09-03
相关资源
最近更新 更多