Unity 2D攝像機跟隨角色移動


一,攝像機只跟隨角色移動

二,攝像機移動時,是平緩移動的

 

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class CmeraFollow : MonoBehaviour {

    public Transform m_playerTransform;

    //設定一個角色能看到的最遠值
    public float Ahead;

    //設置一個攝像機要移動到的點
    public Vector3 targetPos;

    //設置一個緩動速度插值
    public float smooth;


    void Start () {

        //獲取當前角色的transform
        //m_playerTransform = GameObject.Find("player").GetComponent<Transform>();

    }
    
    // Update is called once per frame
    void Update () {


        //this.transform.position = new Vector3(m_playerTransform.position.x, gameObject.transform.position.y, gameObject.transform.position.z);



        targetPos = new Vector3(m_playerTransform.position.x, gameObject.transform.position.y, gameObject.transform.position.z);

        if (m_playerTransform.position.x > 0f)
        {
            targetPos = new Vector3(m_playerTransform.position.x + Ahead, gameObject.transform.position.y, gameObject.transform.position.z);
        }
        else
        {
            targetPos = new Vector3(m_playerTransform.position.x - Ahead, gameObject.transform.position.y, gameObject.transform.position.z);
        }

        transform.position = Vector3.Lerp(transform.position, targetPos, smooth * Time.deltaTime);

    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM