반응형
1. 오늘 학습 키워드
- 1주차
- 캐릭터 이동 + flipX 반전
- 마우스 클릭 시 방향 전환
- 빗방울 프리팹 랜덤 생성 (Instantiate + Random.Range)
- 충돌 처리 (OnCollisionEnter2D) → 점수 증가 / 오브젝트 제거
- GameManager 싱글톤 + 점수 관리 (AddScore)
- UI 텍스트 실시간 갱신 (Text.text)
- InvokeRepeating 사용해 빗방울 반복 생성
- 시간 제한 + 게임 오버 패널 (Time.deltaTime, SetActive)
- Retry 버튼으로 씬 재시작 (SceneManager.LoadScene)
- 2주차
- 마우스 따라오게 하기 (Shield.cs → Camera.ScreenToWorldPoint)
- 장애물 랜덤 생성 + 프리팹화 (Instantiate, Random.Range, InvokeRepeating)
- 시간 측정 및 표시 (Time.deltaTime, Text.text)
- 풍선과 충돌 시 게임 종료 처리 (OnCollisionEnter2D, GameOver())
- GameManager 싱글톤 처리 (static Instance, Awake)
- 게임 오버 시 애니메이션 전환 (Animator.SetBool("isDie", true))
- 0.5초 지연 후 시간 멈춤 처리 (Invoke("TimeStop", 0.5f))
- 최고 점수 저장 및 불러오기 (PlayerPrefs.SetFloat, GetFloat, HasKey)
- Retry 버튼으로 게임 재시작 (SceneManager.LoadScene)
- UI 텍스트로 현재/최고 점수 표시
- 3주차
- StartScene → MainScene 씬 전환 (SceneManager.LoadScene)
- 강아지가 일정 시간마다 밥 발사 (InvokeRepeating, Instantiate)
- 밥이 일정 y값 넘으면 제거 (Destroy)
- 마우스 따라 강아지 이동 + 이동 범위 제한
- 고양이 프리팹 중력 이동 + Random.Range로 위치 지정
- 고양이 HP 바 구현 (Transform.localScale)
- 밥과 충돌 시 HP 증가 + 배부르면 이미지 전환 (SetActive)
- 에너지 꽉 찬 고양이 옆으로 이동 후 제거 (Destroy(gameObject, 3.0f))
- 지면 도달 시 게임 종료 (GameManager.Instance.GameOver())
- 레벨 시스템 구현 (5마리마다 1레벨 증가)
- 레벨에 따라 고양이 등장 확률 변경 + FatCat 등장
- FatCat은 더 느리고 HP 더 많음
- Retry 버튼 + Time.timeScale = 1.0f 재설정
2. 오늘 학습 한 내용을 나만의 언어로 정리하기
오늘은 유니티 게임개발 1,2,3 주차 강의를 듣고 개발을 하였다. 딱히 어려운 점은 없었고 자주 사용하지 않던 부분들이 조금 있었다. 유니티 기능이 워낙 많아서 하나씩 천천히 잘 배워보자.
3. 학습하며 겪었던 문제점 & 에러
✅ 오늘 새롭게 배운 개념 요약
1. 🖼️ UI Image에 Shadow 컴포넌트 적용
- Image 컴포넌트에도 Shadow(효과)를 추가할 수 있음
- UI에 그림자 효과를 줘서 더 입체감 있는 디자인 가능
- 추가 방법: Add Component > Effects > Shadow
- Effect Color, Effect Distance, Use Graphic Alpha 등 속성 조절 가능
2. 📦 싱글톤(Singleton) 패턴
- GameManager 같은 오브젝트를 전역에서 접근 가능하게 만드는 방식
- 기본 구조:
csharp
복사편집
public static GameManager Instance;
void Awake()
{
Instance = this;
}
- 다른 스크립트에서 GameManager.Instance로 바로 접근 가능
3. 🎨 카메라 배경색 변경
- Camera.main.backgroundColor = Color.blue; 처럼 코드로 설정 가능
- 또는 에디터에서 Main Camera 선택 → Inspector > Background에서 직접 변경
- Clear Flags가 Skybox일 경우 Solid Color로 바꿔야 색상이 보임
4. 💾 PlayerPrefs로 점수 저장
- 앱을 껐다 켜도 데이터 유지 가능
- 주요 함수:
PlayerPrefs.SetFloat("bestScore", 값); // 저장
PlayerPrefs.GetFloat("bestScore"); // 불러오기
PlayerPrefs.HasKey("bestScore"); // 존재 여부 확인
- 최고 점수, 설정값, 튜토리얼 완료 여부 등에 자주 사용됨
4. 내일 학습 할 것
유니티 게임 개발 4,5주차 완강
반응형
'스파르타 코딩클럽 > TIL작성' 카테고리의 다른 글
사전캠프 7일차(주말) [게임 개발이 처음이어도 쉽게 배우는 모바일 게임 개발 5 주차 완강] (0) | 2025.06.30 |
---|---|
사전캠프 5일차 [게임 개발이 처음이어도 쉽게 배우는 모바일 게임 개발 4 주차 완강] (1) | 2025.06.27 |
사전캠프 3일차 [게임 개발이 처음이어도 쉽게 배우는 모바일 게임 개발], 오목 게임 팀플 기획(개인 작성) (0) | 2025.06.26 |
사전캠프 2일차 [기초 문법 복습 + 달리기반 Lv1, Lv2, Lv3] (2) | 2025.06.24 |
사전캠프 1일차 [OT+팀원소개+기초 문법 톺아보기] (2) | 2025.06.23 |