8 STRENGTH
중간 점검) 유니티 기본 C# 문법 정리 2 본문
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
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이어야 함
버튼스크립트
색상변환
타일매니저?
런게임이랑 슈팅게임이랑 클리커게임...
'유니티' 카테고리의 다른 글
절대강좌! 유니티 _ 1~3장 (0) | 2023.06.28 |
---|---|
중간 점검) 유니티 기본 C# 문법 정리 1 (0) | 2022.07.24 |
유니티 6일차. C# 기본 문법, 라이프사이클, 키다운 움직임 (0) | 2022.07.21 |
유니티 5일차. 스와이프 기능 (0) | 2022.07.21 |
유니티 4일차. (0) | 2022.07.21 |