using UnityEngine;
using System.Collections;
public class CameraManager : MonoBehaviour {
ย ย ย public Transform playerTr; //ํ๋ ์ด์ด ์ขํ๋ฅผ ์์์ค๊ธฐ ์ํด ํ๋ ์ด์ด๋ฅผ ์ฌ๊ธฐ ๋์ด๋ถ์ด๋ฉด ๋จ.
ย ย ย public Vector2 xLimit; // xLimit.x๋ x์ถ ์ด๋ ์ต์๊ฐ, xLimit.y๋ x์ถ ์ด๋ ์ต๋๊ฐ. ์ ์์ ์นด๋ฉ๋ผ์ ์ ํ๊ฐ์ ๋จผ์ ํ์ธํด์ ๊ทธ๊ฑธ ์ ์ ํ๊ฒ ๋ฃ์ด์ฃผ๋ฉด ๋จ.
ย ย ย public Vector2 yLimit; //์์ ๊ฐ์.
ย ย ย public Vector2 cameraOffSet; // ์นด๋ฉ๋ผ๋ฅผ ์ผ์ชฝ์ด๋ ์ค๋ฅธ์ชฝ์ผ๋ก ์น์ฐ์น๊ฒ ํจ. ์๋ก cameraOffSet.x๊ฐ์ 1์ ๋๋ก ์ฌ๋ฆฌ๋ฉด ์นด๋ฉ๋ผ๊ฐ ์ฃผ์ธ๊ณต๋ณด๋ค ์ฝ๊ฐ ์ค๋ฅธ์ชฝ์์ ์ฐ์ด์ ํ๋ฉด์ ์ฃผ์ธ๊ณต์ด ์ผ์ชฝ์ ์น์ฐ์ณ ๋์ค๊ฒ ํจ.
ย ย ย Transform cameraTr; //์ด ์นด๋ฉ๋ผ์ ํธ๋์คํผ.
ย ย ย void Start()
ย ย ย {
ย ย ย ย ย ย ย cameraTr = transform; //์ด ์นด๋ฉ๋ผ์ ํธ๋ํผ์ ์ ์ธ. ๊ทผ๋ฐ ์ ๋ํฐ5์์๋ ์ด๋ ๊ฒ ์ํด๋ ๋๋ค๋ ๋ง์ด ์๋๋ฐ ๊ทธ๋ฅ ๋ถ์ํ๊ธฐ๋ ํ๊ณ ๊ตฌ๋ถํ๊ธฐ ํธํด์ ์ด๋ ๊ฒ ์.
ย ย ย }
ย ย ย void LateUpdate()
ย ย ย {
ย ย ย ย ย ย ย //Mathf.Clamp(ํ์ฌ๊ฐ, ์ต์๊ฐ, ์ต๋๊ฐ) ์ ํ์ฌ๊ฐ์ด ์ต์ ์ต๋์น๋ฅผ ๋์ง ์๊ฒ ๋ง๋ค์ด์ฃผ๋ ๋ฉ์๋์. ๊ทธ๋์ ์ต์๊ฐ๋ณด๋ค ์ ์ ์๊ฐ ๋ค์ด์ค๋ฉด ์ต์๊ฐ, ๋ฐ๋๋ก๋ ์ต๋๊ฐ์ด ๋์ด.
ย ย ย ย ย ย ย //playerTr.position.x ์ cameraOffset.x๋ฅผ ๋ํด ํ์ฌ ์์น์์ ์ด์ง offset๋งํผ ๋ฐ์ด์ค. 0์ ๋ฃ์๊ฑฐ๋ฉด ๊ทธ๋ฅ cameraOffset์ ๋นผ๋ฒ๋ฆฌ๋ฉด ๋จ.
ย ย ย ย ย ย ย cameraTr.position = new Vector3(
ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย Mathf.Clamp(playerTr.position.x + cameraOffSet.x, xLimit.x, xLimit.y), //cameraTr.position์ x์ขํ๋ xLimit.x์ด์ xLimit.y์ดํ๋ค.
ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย Mathf.Clamp(playerTr.position.y + cameraOffSet.y, yLimit.x, yLimit.y), //์์ ๊ฐ์.
ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย -1); //-1์ Orthographic์นด๋ฉ๋ผ ์ ๋ค๋ก ์ด์ง๋ง ๋ฐ์ด์ฃผ๋ฉด ๋์ ๊ทธ๋ ๊ฒ ํ ๊ฑฐ์.
ย ย ย }
}
์ด๊ฑธ ์นด๋ฉ๋ผ์ ๋ถ์ฌ์ ์ธ์คํํฐ์ ํ๋ ์ด์ด๋ ๊ฐ๋ค์ ์ ๋นํ ์ธํ ํ๋ฉด ๋ ๊ฑฐ์. ๊ทธ๋ฆฌ๊ณ ๋์ค์ ์์ฉํด์ ์๊ธฐ ๊ฒ์ ๋ง๊ฒ ํ๋์ฉ ๊ณ ์ณ๋๊ฐ๋ฉด ๋ ๊ฑฐ์.
ํฐ์น ์ปจํธ๋กค์ ํ๋ฒ ์ง์ ๋ง๋ค์ด๋ณด๋ฉด ๊ฒฝํ์ด ๋๊ณ ์ข๊ธด ํ๋ฐ ์ฝ๋๋์ด ๋ง๊ณ ์ค๋ช ์ด ๋ณต์กํด์ย ์ฌ๊ธฐ๋ค ์ฐ๊ธด ์ ์ ํ์ง ์์. ์ฌ์ค ๋๋ ์์ ์ ํ ๋๋ฒ์ฏค ๋ง๋ค์ด๋ดค๋๋ฐ ๊ทธ๋ฅ ์์ ์คํ ์ด์์ ์ฌ์ ์ฐ๋๊ฒ ๋ซ๋๋ผ.ย ๋ InControl ์ด๋ผ๋ ์์ ์ ์.ย pc์์ ์ง๋๊น์ง ์ง์ํจ. ์๋๋ก์ด๋ ์ปจํธ๋กค๋ฌ๋.
๋น์ฅ ์์
์ ๊ตฌ์
ํ์ง ๋ง๊ณ ๋์ค์ย ์๊ฐ๋๋ฉด ์ด๊ฑธ๋ก ํ๋ฒ ๋ฐ๊ฟ๋ด๋ผ.
ํฐ์น๋ ๋ฌด๋ฃ ์์ ์ด๋ ์์ ๋ ์์๊ฑฐ์. ๋น์ฅ์ ๊ทธ๊ฑฐ ๋ฐ์์ ์ฐ๋ฉด์ ์ฝ๋๋ฅผ ๋ฏ์ด๋ณด๋ ๊ฒ๋ ์ข์๊ฑฐ์