相機(jī)跟隨與屏幕自適應(yīng)的實(shí)現(xiàn)
相機(jī)跟隨
如何讓相機(jī)跟著人物跑呢?這是個(gè)不太大但是需要解決的問(wèn)題。
思路就是用LateUpade(保證在所有更新函數(shù)都調(diào)用完調(diào)用)實(shí)時(shí)監(jiān)測(cè)相機(jī)的位置,讓他一直和游戲主角保持一定的距離。
開始執(zhí)行:
- 創(chuàng)建個(gè)腳本給相機(jī)綁上
然后我們開始寫里面的代碼。
-
寫代碼
using System.Collections; using System.Collections.Generic; using UnityEngine; public class MainCameraController : MonoBehaviour { //青蛙位置的實(shí)體,用于獲取青蛙坐標(biāo) public Transform frog; //用于表示相機(jī)和青蛙之間的位置差 public float offsetY; private void LateUpdate() { //相機(jī)的位置 transform.position = new Vector3(transform.position.x, frog.transform.position.y + offsetY, transform.position.z); } }
-
把參數(shù)設(shè)置下
完成!
屏幕自適應(yīng)
思路:先調(diào)節(jié)好我們需要的大致基礎(chǔ)大小,之后再乘長(zhǎng)寬比。
上菜(代碼)!
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class MainCameraController : MonoBehaviour
{
//基礎(chǔ)大小
public float zoomBase;
//長(zhǎng)寬比
private float ratio;
private void Start() {
//求出長(zhǎng)寬比
ratio = (float)Screen.height / (float)Screen.width;
Camera.main.orthographicSize = zoomBase * ratio * 0.5f;
}
}
這段代碼綁在相機(jī)上,我們調(diào)節(jié)下參數(shù):文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-616638.html
總代碼如下:文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-616638.html
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class MainCameraController : MonoBehaviour
{
//青蛙位置的實(shí)體,用于獲取青蛙坐標(biāo)
public Transform frog;
//用于表示相機(jī)和青蛙之間的位置差
public float offsetY;
//基礎(chǔ)大小
public float zoomBase;
//長(zhǎng)寬比
private float ratio;
private void Start() {
//求出長(zhǎng)寬比
ratio = (float)Screen.height / (float)Screen.width;
Camera.main.orthographicSize = zoomBase * ratio * 0.5f;
}
private void LateUpdate()
{
//相機(jī)的位置
transform.position = new Vector3(transform.position.x, frog.transform.position.y + offsetY, transform.position.z);
}
}
到了這里,關(guān)于unity--相機(jī)跟隨與屏幕自適應(yīng)的實(shí)現(xiàn)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!