2017-01-16 67 views
1

我試圖將遊戲手柄控制器固定在我的相機節點的左下角,但是當我添加節點作爲我的相機的一個孩子它不顯示?SpriteKit - 節點不添加到SKCameraNode - 斯威夫特

let gameCamera = SKCameraNode() 
var joypadBackground : SKSpriteNode = SKSpriteNode(imageNamed: "a") 
override func didMove(to view: SKView) { 

    //Set game camera 
    self.camera = gameCamera 
    joypadBackground.position = convert(CGPoint(x: 0, y: 0), to: gameCamera) 
    joypadBackground.size = CGSize(width: 50, height: 50) 
    joypadBackground.zPosition = 1000 


    gameCamera.addChild(joypadBackground) 

} 

回答

1

你不需要

convert(CGPoint(x: 0, y: 0), to: gameCamera) 

您可以只設置CGPoint位置爲(0,0),它應該是相對於相機的空間點。

不知道這是否有幫助,但是我所做的是(通常)在將子節點添加到父節點後定位子節點。這對我來說主要是一個心理提醒,即孩子的位置在父母的座標空間內。所以我會這樣做:

gameCamera.addChild(joypadBackground) 
joypadBackground.position = CGPoint(x: 0, y: 0) 

如果您在SKScene中使用中間屏幕原點,它應該位於屏幕中間。

左下角是負x和負y值,其大小與您的畫幅大小有關。