본문 바로가기
개발/C#

유니티 C# 코루틴 동작, 시간 딜레이 Coroutine, Invoke 간단 사용법

by SPNK 2022. 6. 21.
반응형
  • 코드 작성
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;

public class Example : MonoBehaviour
{
    private void Start()
    {
        StartCoroutine(DelayCoroution());
        Invoke("Delay", 5);
    }

    IEnumerator DelayCoroution()
    {
        yield return new WaitForSeconds(5);
        Debug.Log("5초가 지났습니다.");
    }

    void Delay()
    {
        Debug.Log("5초가 지났습니다.");
    }
}

 

 

  • 다른 방식으로 코루틴 사용 예시
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;

public class Example : MonoBehaviour
{
    public int playerHp = 100;


    private void Start()
    {
        StartCoroutine(HpCoroution());
    }


    IEnumerator HpCoroution()
    {
        if(playerHp <= 0)
        {
            Debug.Log("플레이어 사망");
            yield break;
        }
        else
        {
            playerHp -= 1;
            Debug.Log("남은 체력 : " + playerHp);
        }
        yield return new WaitForSeconds(1);
        StartCoroutine(HpCoroution());
    }
}

 


참고할만한 글

 

 

유니티 C# 클릭하면 점수증가 시스템 간단 구현 (터치류 게임)

코드 작성 using UnityEngine; using UnityEngine.UI; public class ScoreController : MonoBehaviour { public Text scoreText; private int score = 0; void Start() { UpdateScore(); } public void IncreaseScore() //점수 증가 버튼 { score++; UpdateScore();

parksh3641.tistory.com

 

 

유니티 C# 마우스로 오브젝트 클릭 간단 구현

코드 작성 using UnityEngine; public class TouchEvent : MonoBehaviour { void Update() { if (Input.GetMouseButtonDown(0)) { Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hit; if (Physics.Raycast(ray, out hit)) { Debug.Log("터

parksh3641.tistory.com

 

반응형

댓글