Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 时间间隔更新函数问题。玩家消失_Swift_Xcode_Sprite Kit - Fatal编程技术网

Swift 时间间隔更新函数问题。玩家消失

Swift 时间间隔更新函数问题。玩家消失,swift,xcode,sprite-kit,Swift,Xcode,Sprite Kit,这个游戏: 当我写这段代码时。。玩家消失了 变量: var previousTimeInterval: TimeInterval = 1 var playerIsFacingRight = true let playerSpeed = 4.0 extension GameScene { override func update(_ currentTime: TimeInterval) { let deltaTime = currentTime - previousTi

这个游戏:

当我写这段代码时。。玩家消失了

变量:

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) 

    }
}
代码:

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) 

    }
}

更新方法运行多次

它很有可能是因为玩家的许多动作而消失的

  • 您可以在更新内部进行调试,并检查player?.position
  • 检查播放机的播放机?.zPosition,如果它与后台的位置相同,则可以在后面定位
  • 您可以使用Xcode“调试视图层次结构”查看播放器的位置

我检查了播放器?.zPosition“可选(0.0)”请帮助我,先生。我可以和你分享我的项目。我向你发送了请求。Thanks@Maetschl它通过帮助其他场馆的OP而违背了SO的目的。其他人应该如何从中学习that@RonMyschuk你说得对:)但我给出了一个诚实的答案,也许他能解决这个问题。把代码贴在你创建的地方,并把你的角色添加到场景中