Unity 게임 개발 입문
팀프로젝트 : Arkanoid24
Unity 음악파일 주의사항
음악 파일로 wav.를 사용하면 용량이 너무 커진다.
1~2초 정도의 효과음은 가능하지만, 배경음악 같은 스케일은 wav.로 넣으면 프로젝트가 굉장히 무거워진다.
따라서 잘 압축된 ogg 파일을 이용하는 것이 효율적이다.
Game Scene 에 최고 기록을 UI로 띄우기
public class MainSceneUI : MonoBehaviour
{
[SerializeField] private TextMeshProUGUI BestscoreText;
private string KeyName = "BestScore";
private float bestscore = 0;
void Start()
{
bestscore = PlayerPrefs.GetFloat(KeyName, 0);
BestscoreText.text = $"최고 기록 : {bestscore.ToString()}";
}
private void Update()
{
if (Managers.Game.Score > bestscore)
{
PlayerPrefs.SetFloat(KeyName, Managers.Game.Score);
}
}
PlayerPrefs. 를 사용해 로컬에 (개인PC에) bestscore가 기록되도록 함.
초기 bestscore = 0 이며, 이후 score > bestscore 인 경우 bestscore에 string형태로 기록됨.
score는 Managers.Game.Score 에서 가져옴.
개인과제 피드백
- git commit 시 커밋 메시지 컨벤션 참고하기, 구현 내용을 명확히 적기, 구현 단위로 커밋 하기
현재 팀 과제에서 설정한 커밋 메시지 컨벤션에 따라 git commit을 하고 있다.
내용은 간결하고 분명하게 작성하고 있다.
새 기능 추가, 기능 수정 등 작은 단위별로 커밋하고 있다.
개인과제 제출 당시 만든 내용을 한꺼번에 올렸기 때문에 커밋 과정이 좋지 않았는데,
피드백 내용을 개인 과제에서도 적용시키기 위해 노력해야겠다.
오늘의 회고
기록 저장하는 방법 찾아보고 적용하는 데 수 시간이 걸렸다.
하나는 MainScene 자체에 최고 기록을 띄우는 것, 하나는 로비-랭킹 UI에서 기록을 여러 개 띄우는 것.
일단 MainScene에 최고 기록 경신하는 것까지 구현했다.
내일은 특별 플레이 모드 (무한 레벨, 타임어택) 에서 랭크를 순위별로 나타내는 작업을 할 것이다.
Manager 스크립트를 최대한 가볍게 하려고 기능 별로 여러 개 분산시켰더니 bestscore 개발하는 것이 많이 헷갈렸다.
내일도 힘냅시다!
'게임 개발 일지 > 내일배움캠프 TIL' 카테고리의 다른 글
region 사용하기 / UI - RankPanel 만들기 (2) | 2023.12.06 |
---|---|
Array.IndexOf(x,y) / 델리게이트와 이벤트의 차이 (1) | 2023.12.05 |
ScriptableObject / 메타 파일의 중요성 (2) | 2023.12.01 |
게임 개발에 자주 쓰이는 7가지 패턴 (0) | 2023.11.30 |
Math.sqrt / 벡터 이해하기 (1) | 2023.11.29 |
댓글