2017-05-20 4 views
0

これは2Dプラットフォームのゲーム用です。ユニティC#でプレーヤーが画面の上半分に達したときにのみ、カメラをY軸上に移動する方法

プレイヤーがジャンプしたときにカメラがY軸を上に移動しないようにします。私はそれがプレイヤーが画面の上部に移動するので、垂直のプラットフォームとはしごまでスクロールできるようにするだけです。

誰もコードとUnityエディタに入力する内容を知っていますか?

ここでは、カメラのスクリプトでこれまでに行ったコードを示します。

public class CameraControl : MonoBehaviour { 

    public GameObject target; 
    public float followAhead; 
    public float smoothing; 

    private Vector3 targetPosition; 

    // Use this for initialization 
    void Start() { 

    } 

    // Update is called once per frame 
    void Update() { 
     targetPosition = new Vector3 (target.transform.position.x, transform.position.y, transform.position.z); 

     if (target.transform.localScale.x > 0f) { 
      targetPosition = new Vector3 (targetPosition.x + followAhead, targetPosition.y, targetPosition.z); 
     } else { 
      targetPosition = new Vector3 (targetPosition.x - followAhead, targetPosition.y, targetPosition.z); 
     } 

     transform.position = Vector3.Lerp (transform.position, targetPosition, smoothing * Time.deltaTime); 
    } 
} 
+0

カメラからプレイヤーまでのレイキャストを、ある角度で作成することができます。あなたが計算した限界を超えていて、カメラを移動していることがわかりますか? – Andromelus

答えて

1

私はジャンプのアニメーションをトリガーするジャンプに束縛されていると思います。まだ更新中

void Update() { 
    // Update camera X position 
    if (isPlayerJumping) return; 
    // Update camera Y position 
} 

この方法で、あなたは、プレイヤーがジャンプされていない場合にのみ、カメラのY位置を更新:

ので、カメラのUpdate()にあなたはこのような何かを行うことができますすべての場合にX位置(ジャンプ中であっても)。

関連する問題