Enter๊ณผ ESC๋ฅผ ๋๋ฅด๋ฉด ํ๋ ์ด์ด๊ฐ ํน์ ์์น๋ก ํ ๋ ํฌํธ ํด์ผํ๋๋ฐ ์ด๊ฒ ์๋๋ค์ใ ใ
Ratation์ ์ ์ฉ์ด ๋์ด์ ๋ฐฉํฅ์ ๋ฐ๋๋๋ฐ ์์น๋ง ์๋ฐ๋๋๋คใ ใ
์ํ๋ ์์น์ ์ค๋ธ์ ํธ(public GameObject teleportPoint)๋ก ํ ๋ ํฌํธ ํ๋ ์ฝ๋์ ๋๋ค.
pointPos[] ๋ฐฐ์ด์ teleportPoint.transform.position์ ๋์ ํ์๊ณ
pointRot[] ๋ฐฐ์ด์ teleportPoint.transform.rotation์ ๋์ ํ์์ต๋๋ค.
์์ธ์ด ๋ฌด์์ผ๊น์?
[SerializeField] private GameObject player;
void Update()
ย ย {
ย ย ย ย if (isTpDelay == false)
ย ย ย ย {
ย ย ย ย ย ย // Esc๋ฅผ ์ ๋ ฅํ ๊ฒฝ์ฐ ์ด์ ์์น๋ก ํ ๋ ํฌํธ
ย ย ย ย ย ย if (gateIndex != 0 && Input.GetKeyDown(KeyCode.Escape))
ย ย ย ย ย ย {
ย ย ย ย ย ย ย ย gateIndex--;
ย ย ย ย ย ย ย ย player.transform.SetPositionAndRotation(pointPos[gateIndex], pointRot[gateIndex]);
ย ย ย ย ย ย }
ย ย ย ย ย ย // Enter๋ฅผ ์ ๋ ฅํ ๊ฒฝ์ฐ ๋ค์ ์์น๋ก ํ ๋ ํฌํธ
ย ย ย ย ย ย if (onGate && Input.GetKeyDown(KeyCode.Return))
ย ย ย ย ย ย {
ย ย ย ย ย ย ย ย if (gateIndex == 0)
ย ย ย ย ย ย ย ย {
ย ย ย ย ย ย ย ย ย ย gateIndex++;
ย ย ย ย ย ย ย ย ย ย player.transform.SetPositionAndRotation(pointPos[gateIndex], pointRot[gateIndex]);
ย ย ย ย ย ย ย ย }
ย ย ย ย ย ย ย ย else if (gateIndex == 1)
ย ย ย ย ย ย ย ย {
ย ย ย ย ย ย ย ย ย ย gateIndex++;
ย ย ย ย ย ย ย ย ย ย player.transform.SetPositionAndRotation(pointPos[gateIndex], pointRot[gateIndex]);
ย ย ย ย ย ย ย ย ย ย character = characters[gateInfo.getIndex()];
ย ย ย ย ย ย ย ย }
ย ย ย ย ย ย ย ย else
ย ย ย ย ย ย ย ย {
ย ย ย ย ย ย ย ย ย ย SceneManager.LoadScene(stages[gateInfo.getIndex()]);
ย ย ย ย ย ย ย ย }
ย ย ย ย ย ย }
ย ย ย ย }
ย ย }
๋๊ธ 0