2017-02-18 4 views
0

私は、クラスオブジェクトであるPlayerを持っています。 私はプレーヤーに従うためにcameraを追加しました、それは動作していますが、私はカメラがより頻繁にプレイヤーに従うことを望みます。今カメラを動かしていなければ、まだカメラがその視界の中にプレーヤーを持っているかどうかを調べるだけです。 画面の高さを確認しようとしましたが、画面の上に近づくと動きましたが、動きませんでした。 これは私が今(update()機能で実行)を持っているコードです:カメラをより頻繁に動かすには?

if (!cameraNode.contains(mPlayer)) { 
    moveCamera() 
} 

これはmoveCamera()である:

func moveCamera(){ 
    let moveAction = SKAction.moveTo(y: mPlayer.position.y + 600, duration: 0.1) 
    cameraNode.run(moveAction) 
} 

答えて

0

それはあなたのシーンの設定方法によって異なりますが、これはうまくいくかもしれない:

let idealDistance: CGFloat = 600.0 
let allowedDelta: CGFloat = 150.0 

let offset = cameraNode.position.y - (mPlayer.position.y + idealDistance) 

if abs(offset) > allowedDelta { 
    moveCamera() 
} 

allowedDeltaの値を試して、うまくいくかどうかを確認できます。

+0

ありがとうございました。 – swiftnewbie

関連する問題