- behaviour.enabled = false라면 Update 함수가 호출되지 않도록 하는 프로퍼티다.
- 인스펙터의 회전값 : degree
- Rotate() : degree만큼 회전하는 함수다.
- 상태 회전을 먼저 확인하고 매개변수로 들어온 값을 추가하는 함수다.
- 상대 : 200.f / 매개변수 : 10.f → 결과 : 210.f
플레이어 추적 후 발사
- 방법은 2가지가 있다. - 어떤것을 사용해도 좋다.
- BulletSpawner가 타겟을 바라보며 회전한다.
- transform.LookAt(fireTarget.position);
- 스포너는 가만히 있고 Bullet이 생성될때 타겟을 바라보며 생성된다.
- var fire = Instantiate(bulletPrefab, firePoint.position, firePoint.rotation); fire.transform.LookAt(fireTarget.position);
게임판 회전
transform.Rotate(0f, speed * Time.deltaTime, 0f);
UI 추가
- UI 프리펩을 최초로 추가할 때 Canvas 오브젝트와 EventSystem 오브젝트가 추가된다.
- Canvas : Canvas 컴포넌트가 붙은 오브젝트를 의미한다.
- UI가 여기에 그려진다.
- 이것이 없다면 UI는 그려지지 않는다.
- Rect Transform으로 크기가 설정된다.
- Pivot : 오브젝트 사각형의 중심점
- anchor : 부모 사각형을 기준으로 좌표를 이동하는 프리셋이다.
- Pivot과 anchor를 이용하여 해상도가 바뀌어도 바뀐 해상도를 기준으로 바뀌기에 이것으로 조절하면 좋다.
플레이어 사망 후 정지
- GameManager에 isGameOver 변수를 프로퍼티로 받아 확인한다.
public bool IsGameOver
{
get
{
return isGameOver;
}
}
PlayerPrefs
- 게임 세션 간 플레이어의 기본 설정을 저장하는 클래스다. - Unity Documentation에서 확인할 수 있다.
- 암호화 없이 로컬 레지스트리에 PlayerPrefs를 저장된다.
- 저장 경로 : 레지스트리 편집기 - HKEY_CURRENT_USER - SOFTWARE - Unity - UnityEditor - DefaultCompany - 프로젝트 이름
- window 등의 운영체제 마다 저장되는 경로가 다르다.
- 레지스트리 편집기에서 경로를 확인할 수 있다.
- 키 벨류 쌍으로 동작한다.
- PlayerPrefs.GetFloat(문자열, float) : 문자열의 이름으로 저장된 값을 확인하고 없다면 float 값으로 반환하고, 있다면 저장되어있는 값으로 반환하는 함수다.
- PlayerPrefs.SetFloat(문자열, float) : 문자열의 이름으로 float 값을 저장하는 함수다
float bestTime = PlayerPrefs.GetFloat("BestTime", 0f); //없으면 0으로 리턴하거나 2번? 인자가 있다면 2번? 인자 값으로 리턴
if (score > bestTime)
{
PlayerPrefs.SetFloat("BestTime", score);
bestTime = score;
}
bestScoreText.text = $"Best Record: {Mathf.FloorToInt(bestTime)}";
.
'공부 > Unity' 카테고리의 다른 글
| 애니메이션 (0) |
2025.08.25 |
| 벡터 기본, 벡터 내적, 벡터 외적, 쿼터니언, 짐벌락, Sprite, Animator, Animation, Animation Clip (6) |
2025.08.19 |
| Plane 아랫면이 안보이는 이유, 카메라, 메테리얼 생성, 컴포넌트 참조, 프리펩 (1) |
2025.08.18 |
| 씬, 게임 오브젝트, 인스펙터, 컴포넌트, 좌표계, 원근 투영, 직교 투영, 컴포넌트 패턴, 이벤트 함수 실행 순서 (2) |
2025.08.18 |
| 25.05.28 - 게임 직무 설명, 공부해야하는 것들, 개발 환경 준비, 비주얼 스튜디오 기타 설명 (1) |
2025.05.28 |