ํ์ฌ ์ ์์ค์ธ ๊ฒ์์๋ ์์น ์ด๋์ ์๋์ ๊ฐ์ ๋ฐฉ๋ฒ์ผ๋ก ํ๊ณ ์์
triggerenter ์ํ๊ฐ ๋๋ฉด bool๊ฐ์ true๋ก ๋ฐ๊พธ๊ณ
update์์ bool๊ฐ์ด true๊ฐ ๋๋ฉด ํ๋ ์ด์ด์ ์์น๋ฅผ transform์ผ๋ก ์ฎ๊ธฐ๋ ์์
๊ทธ๋ฐ๋ฐ ์ด๊ฒ ๋ค๋ฅธ ๊ฒ๋ค์๋ ์ ์์ ์ผ๋ก ๋๋๋ฐย
์๋์ ์ฝ๋์์๋ ์ ์์ ์ผ๋ก ๋์ง ์์์ ์ง๋ฌธํจ
๊ธฐ์กด์ ๋๋ ์ฝ๋๋ค
private void OnTriggerEnter2D(Collider2D collision)
ย ย {
ย ย ย ย if(collision.gameObject.CompareTag("Player"))
ย ย ย ย {
ย ย ย ย ย ย b_CheckGate = true;
ย ย ย ย ย ย ParkingIcon.SetActive(true);
ย ย ย ย }
ย ย }
ย ย private void OnTriggerExit2D(Collider2D collision)
ย ย {
ย ย ย ย b_CheckGate = false;
ย ย ย ย ParkingIcon.SetActive(false);
ย ย }
void Update()
ย ย {
ย ย ย ย if(b_CheckGate)
ย ย ย ย {
ย ย ย ย ย ย if(Input.GetKey(KeyCode.F))
ย ย ย ย ย ย {
ย ย ย ย ย ย ย ย Player1.transform.position = new Vector2(TargetPos1.position.x, TargetPos1.position.y);
ย ย ย ย ย ย }
ย ย ย ย }
ย ย }
์๋๋ ์ฝ๋
void ST1TimerSetup()
ย ย {
ย ย ย ย if (S1TimerLeft > 0)
ย ย ย ย {
ย ย ย ย ย ย S1TimerLeft -= Time.deltaTime;
ย ย ย ย ย ย s_Timer.SetActive(true);
ย ย ย ย ย ย timertext.text = Mathf.Round(S1TimerLeft).ToString();
ย ย ย ย ย ย TimeOverCheck = false;
ย ย ย ย }
ย ย ย ย else if (S1TimerLeft <= 0)
ย ย ย ย {
ย ย ย ย ย ย s_Timer.SetActive(false);
ย ย ย ย ย ย TimeOverCheck = true;
ย ย ย ย }
ย ย }
ย void Update() // ๋๋ ์ด ๋๋ฌธ์ ๋ฐ๋ก ์ถ๊ฐ
ย ย {
ย ย ย ย if(TimeOverCheck)
ย ย ย ย {
ย ย ย ย ย ย Player.transform.position = new Vector2(PlayerLocate.position.x, PlayerLocate.position.y);
ย ย ย ย }
ย ย ย ย if (S1TimerTrigger.activeSelf == false)
ย ย ย ย {
ย ย ย ย ย ย ST1TimerSetup();
ย ย ย ย }
ย ย ย ย if (Input.GetKeyDown(KeyCode.F1))
ย ย ย ย {
ย ย ย ย ย ย if (isGuide)
ย ย ย ย ย ย {
ย ย ย ย ย ย ย ย GuideDeActive();
ย ย ย ย ย ย }
ย ย ย ย ย ย else
ย ย ย ย ย ย {
ย ย ย ย ย ย ย ย GuideActive();
ย ย ย ย ย ย }
ย ย ย ย }
ย ย }
์์ ๋๋ ์ฝ๋๋ค์ ํ๋ ์ด์ด๊ฐ ํด๋น ์์น๋ก ์ด๋ํ ํ์ ์์ ๋กญ๊ฒ ์์ง์ผ์ ์๋๋ฐ
์๋์ ์๋๋ ์ฝ๋๋ ํ๋ ์ด์ด๊ฐ ํด๋น ์์น์ ๊ณ ์ ๋์ด๋ฒ๋ฆผ ์ด๋์ด ๋ถ๊ฐ๋ฅํด์ ธ
ํน์ ๋ฌด์จ ์ฐจ์ด๋๋ฌธ์ ์๋ก ๋ค๋ฅธ ๊ฒฐ๊ณผ๊ฐ ์๊ธฐ๋๊ฑฐ์ผ?ย
์ด ๋๊ธ์ ๊ฒ์๋ฌผ ์์ฑ์๊ฐ ์ญ์ ํ์์ต๋๋ค.
?
void Teleport() { Player.transform.position = new Vector2(PlayerLocate.position.x, PlayerLocate.position.y); } ํจ์ ๋ง๋ค๊ณ if (Input.GetKeyDown(KeyCode.F1)) { Invoke(nameof(Teleport), 1f)) } ์ด๋ ๊ฒํด๋ด
์ f1 ์ ๊ฑฐ๋ ๋ค๋ฅธ ๊ธฐ๋ฅ์ด์ผ ใ ใ .. ์ผ๋จ ๋งํด์ค ๋ถ๋ถ ํ๋ฒ ํด๋ณผ๊ฒ
์ด์ ์ด๋ ๊ฐ์ ์ฆ์์ ํด๋น ์์น๋ก ์ด๋์ ํ๋๋ฐ ๊ทธ ์ดํ๋ก ๊ทธ ์์น์ ๊ณ ์ ๋์ด๋ฒ๋ ค
์ด ๋๊ธ์ ๊ฒ์๋ฌผ ์์ฑ์๊ฐ ์ญ์ ํ์์ต๋๋ค.