2017-09-25 102 views
1

我初始化我的相機,並將其約束到我的播放器// didMove(查看:SKView):SpriteKit:我怎樣才能讓我的HUD跟隨我的相機?

self.camera = cameraNode 
    self.addChild(cameraNode) 

    let range = SKRange(constantValue: 0) 
    let cameraConstraint = SKConstraint.distance(range, to: player) 
    cameraNode.constraints = [cameraConstraint] 

在這裏,我初始化我的控制按鈕,例如跳躍鍵:

let jump = SKSpriteNode(named: "...") 
jump.size = CGSize(width: self.size.width*0.07, height: self.size.height*0.07) 
jump.position = CGPoint(x: self.size.width*0.05, y: self.size.height*0.1) 
jump.zPosition = 2 
self.addChild(jump) 

我使用UIGestureRecognizer處理了按鈕調用的函數。現在我想讓我的控制按鈕跟隨相機。我怎麼能這樣做?

回答

0

不是將跳轉按鈕添加爲場景的子項,而是將其添加爲相機節點的子項。就像其他節點一樣,SKCameraNode的孩子總是跟隨父母。

所以不是:

self.addChild(jump) 

使用:

cameraNode.addChild(jump) 
+0

如果我這樣做,我不能按跳躍鍵了。 '讓長按= UILongPressGestureRecognizer() longPress.minimumPressDuration = CFTimeInterval(0.0) longPress.addTarget(個體,動作:#selector(self.longPressGesture(longpressGest :))) self.view .addGestureRecognizer(長按)' –

+0

這是我如何做到這一點,但現在這不再工作 –

+1

做'self.view!',看看你的程序是否爲你崩潰 – Knight0fDragon