Notice
Recent Posts
Recent Comments
Link
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
Tags
more
Archives
Today
Total
관리 메뉴

8 STRENGTH

중간 점검) 유니티 기본 C# 문법 정리 2 본문

유니티

중간 점검) 유니티 기본 C# 문법 정리 2

다민 2022. 9. 23. 02:03

Time.timeScale = 0;

시간이 흘러가는 흐름을 설정하기 위한 변수

1.0일 경우 실시간, 0.5일 경우 실시간보다 2배 느리게, 0일 경우 정지 상태 처리.

게임 내 일시정지 또는 타워디펜스 게임 시간 조절 등을 설정하는데 사용

 

 

enum

https://learn.microsoft.com/ko-kr/dotnet/csharp/language-reference/builtin-types/enum

    enum Rainbow
    {
        RED, ORANGE, YELLOW, GREEN
    }

열거형 자료형.

 

 

coroutine

https://novlog.tistory.com/54

    Startcoroutine(함수명()); // 코루틴 실행
    Stopcoroutine(함수명()); // 코루틴 멈춤

    IEnumerator 함수명()
    {
        진행할 명령문;
        yield return waitForSeconds(1.0f);
    }

가 기본 형식임.

스킬 사용이나 물약 쿨타임 등을 설정할 때, Update 내에서 계속 데이터를 돌리는 것은 비효율적이기 때문에 사용한다.

public bool isDelay;

void Update()
{
	if(Input.GetKeyDown(KeyCode.Space))
    {
    	if(isDelay==false)
        {
        	isDelay = true;
            Debug.Log("물약 사용");
            StartCoroutine(Drink());
        }
        else
        	Debug.Log("쿨타임");
    }
}
        	
            
IEnumerator Drink()
{
	yield return new WaitForSeconds(5.0f);
    isDelay = false;
}

 

 

직렬화

유니티에서 사용할 값을 필드 값으로 작성합니다.
필드 값은 클래스 내부의 변수를 의미합니다.

  인스펙터에 공개 다른 스크립트에서 접근 가능
GameObject Square; X X
public GameObject Square2; O O
[SerializeField]GameObject Square2; O X
[HideInInspector]public GameObject Square3; X O

[HideInInspector] 을 사용하는 이유 : 해당 코드에서 딱히 이 값을 수정할 일이 없고, 다른쪽에서 작업이 주로 처리된다면 굳이 인스펙터창에서 보이지 않게 해서 다른 사용하는 값만 확인할 수 있게 해줌.

 

 

#region ~~~

#endregion

코드 정리를 도와주는 도구

 

 

벡터 사용법

Vector2 v_ex; // 선언

void Start()
{
	v_ex = new Vector2 (3, 5); // 값 대입
}

void Update()
{
	if (~~)
		transform.position = v_ex; // 오브젝트 위치 초기화
}

 

 

다른 오브젝트의 함수 호출

GameObject.Find("호출할 게임오브젝트".GetComponent<호출할 스크립트>().호출할 함수();

이때 호출할 함수는 public이어야 함

 

 

 

버튼스크립트
색상변환
타일매니저?

런게임이랑 슈팅게임이랑 클리커게임...