播放器/ CameraNode位置问题

问题描述 投票:0回答:1

我有一个camerNode位置问题。我在下面添加了代码+尝试解决此问题但没有任何进展。本质上,在我的GameScene中,我将摄像机在场景中移动时完美地锁定在播放器上,我实际上是在尝试对此进行修改,以使摄像头稍稍领先于播放器,这意味着我的播放器实际上位于播放器的左侧。屏幕,几乎就像一个偏移量(+ 200):)(如果存在)。

代码:

        class GameScene: SKScene, SKPhysicsContactDelegate {
        // Create a constant cam as a SKCameraNode:
        let cam = SKCameraNode()




        override func didMove(to view: SKView) {

        // vertical center of the screen:
        screenCenterY = self.size.height / 2

        // Assign the camera to the scene
        self.camera = cam


        //Add the camera itself to the scene's node tree"
        self.addChild(self.camera!)
        // Position the camera node above the game elements:
        self.camera!.zPosition = 50

}

    override func didSimulatePhysics() {

        // Keep the camera locked at mid screen by default:
          var cameraYPos = screenCenterY
          cam.yScale = 1
          cam.xScale = 1

          // Follow the player:
          if (player.position.y > screenCenterY) {
          cameraYPos = player.position.y
          cam.yScale = newScale
          cam.xScale = newScale



        }

        // Camera Adjustment:
        self.camera!.position = CGPoint(x: player.position.x, y: cameraYPos)

我最初以为可以通过将播放器更改为另一个SKSpriteNode来克服此问题。.在HUD类中,我可以添加一个节点并将其应用于周围?然后,我可以回到我的播放器类中,在该类中,我已经定义了覆盖功能funDidMove之上的位置。

         let initialPlayerPosition = CGPoint(x: 50, y: 350)

我确实尝试过此方法,然后GameScene开始播放,是否有更好的方法来实现此结果?我认为可以更改代码以适应这种情况,但是我仍然处于Xcode的学习范围内。

xcode sprite-kit position nodes skcameranode
1个回答
0
投票

没关系-解决了!

摄像机调整说明-player.position.x + 200):)

这可以解决问题!

© www.soinside.com 2019 - 2024. All rights reserved.