2023. 6. 29. 17:46ㆍC# & Unity 공부
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class LifeCycle : MonoBehaviour
{
//1. 초기화 영역
void Awake() //게임 오브젝트 생성할 때, 최초 실행
{
Debug.Log("플레이어 데이터가 준비되었습니다.");
}
//1.5. 초기화 영역와 물리 영역 사이에 있음
void OnEnable() //게임 오브젝트가 활성화 되었을 때, 최초 실행이 아닌 오브젝트를 키고 끄고 할때마다 실행됨
{
Debug.Log("플레이어가 로그인했습니다.");
}
void Start() //업데이트 시작 직전, 최초 실행(초기화 영역)
{
Debug.Log("사냥 장비를 챙겼습니다.");
}
//2. 물리
/*유니티 엔진이 물리 연산을 하기 전에 실행되는 업데이트 함수.
업데이트 함수는 1초에 여러 번 (약 50회) 실행되는 함수이다. 고정적으로 꾸준히 호출함으로 cpu를 많이 사용*/
void FixedUpdate()
{
Debug.Log("이동~");
}
//3. 게임 로직
/*물리 연산과 관련된 로직을 제외한 나머지 주기적으로 변하는 로직들을 넣을 때 사용하는 함수이다
FixedUpdate()와 달리 환경에 따라 실행 주기가 떨어질 수 있다. 60프레임으로 작동함*/
void Update()
{
Debug.Log("몬스터 사냥!!");
}
void LateUpdate() //모든 업데이트가 끝난후 마지막으로 호출 되는 함수. 보통 캐릭터를 따라가는 카메라 혹은 로직의 후처리를 담는다. 업데이트와 실행 횟수가 같다.
{
Debug.Log("경험치 획득.");
}
//3.5 비활성화 영역
//*모든 업데이트가 끝난 후에, 게임 오브젝트가 비활성화 되거나 삭제될 때 실행됨.
void OnDisable() //게임 오브젝트가 비활성화 되었을 때
{
Debug.Log("플레이어가 로그아웃했습니다.");
}
//4. 해체
/*어떠한 이유로 삭제를 하게 된다면 해체의 영역으로 감.*/
void OnDestroy() //오브젝트가 삭제될 때 남기고 가는 것으로 생각하면 됨 (Awake()의 반대)
{
Debug.Log("플레이어 데이터가 해체하였습니다.");
}
}
'C# & Unity 공부' 카테고리의 다른 글
5. 실제와 같은 물체를 만들기 (0) | 2023.07.04 |
---|---|
4. 목표 지점으로 이동시키기 (0) | 2023.06.30 |
3-2. 키보드와 마우스로 입력 받아 이동시키기 (0) | 2023.06.30 |
3-1. 키보드와 마우스로 입력 받아 이동시키기 (0) | 2023.06.30 |
1. C# 간단한 정리 - (정리 필요) (0) | 2023.06.29 |