2017-09-25 5 views
1

私は私のカメラを初期化し、私のプレーヤー// didMoveにそれを制約しました(ビューへ:SKView):SpriteKit:カメラの後にHUDを作成するにはどうしたらいいですか?

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) 

:私は、例えば、ジャンプボタンを自分のコントロールボタンを初期化ここで

self.camera = cameraNode 
    self.addChild(cameraNode) 

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

UIGestureRecognizerでボタンが呼び出す関数を処理しました。今、コントロールボタンをカメラに追従させたい。どうすればこのことができますか?

答えて

0

ジャンプボタンをシーンの子として追加する代わりに、カメラノードの子として追加します。他のノードと同様に、SKCameraNodeの子は常に親に従います。

ので、代わりの:

self.addChild(jump) 

使用:

cameraNode.addChild(jump) 
+0

私はこれを行う場合、私はもうジャンプボタンを押すことができません。 'てみましょうlongPress = UILongPressGestureRecognizer() longPress.minimumPressDuration = CFTimeInterval(0.0) longPress.addTarget(自己、アクション:#selector(self.longPressGesture(longpressGest :))) self.view .addGestureRecognizer(longPress)' –

+0

これ?私が前にやったことですが、今はこれがもう動作しません –

+1

'self.view!'を実行してプログラムがクラッシュするかどうか確認してください – Knight0fDragon

関連する問題