25. Unity 게임 개발 입문 주차(3)

이규성·2023년 11월 28일
0

TIL

목록 보기
30/106

11/28 개인과제를 하자 !

📌알고리즘 코드 카타 (Algorithm Code Kata)

문자열을 정수로 바꾸기

문자열 s를 숫자로 변환한 결과를 반환하는 함수, solution을 완성하세요.

입출력 예
예를들어 str이 "1234"이면 1234를 반환하고, "-1234"이면 -1234를 반환하면 됩니다.
str은 부호(+,-)와 숫자로만 구성되어 있고, 잘못된 값이 입력되는 경우는 없습니다.

public class Solution 
{
    public int solution(string s) 
    {
        int answer = 0;        
        answer += int.Parse(s);
        return answer;
    }
}

Parse 메서드를 사용하여 간단하게 해결함.

📌개인과제 시작

과제 개요

  1. Unity 를 이용해 게더를 모방해 만드는 과제입니다.
  2. 타일맵을 이용해 배경을 꾸밉니다.
  3. 기본 UI 들을 활용해 적용하는 연습이 포함됩니다.

전반적으로 유니티 강의 내용과 유사한 부분이 많아서 어려움은 없었지만 중간중간 오류 수정, 새로운 기능 사용 등에 대해 작성하려고 한다.

무기 구현 없이 캐릭터 방향 전환하기

강의에서는 무기를 구현하고 그 무기가 마우스를 따라 가다가 90도를 넘어가면 무기와 플레이어 캐릭터 둘 다 방향이 바뀌는 것으로 코드와 구현을 알려주셨다. 크게 수정 없이 무기 대신 투명 sprite를 추가하여서 구현하였다.

TextMeshPro의 사용

사전 캠프 때처럼 UI -> Text 이렇게 텍스트 오브젝트를 생성하려고 했으나 TextMeshPro가 생성되어서 굉장히 당황하였고 찾아보니 유니티 버전이 업데이트되면서 바뀐 내용이라고 한다. 폰트도 적용이 되지 않고 gameManager.cs에서 public Text로 선언한 오브젝트가 인스펙터에서 매칭도 되지 않았다. . .

using TMPro;

public TMP_Text TimeTxt;

서칭을 통해 위와 같은 방법으로 해결할 수 있었다.

현재 시간을 게임 화면에 띄우기

DateTime.Now.ToString(("HH:mm"));

DataTime 메서드를 사용하면 쉽게 해결이 되었다. HH는 시간 mm은 분. 시간 뿐만 아니라 날짜 등도 적용이 가능하니 스크랩해놓고 두고두고 사용할 듯 싶은 메서드이다.

구현 영상


좌측 상단에 현재 시각이 잘 나오고 캐릭터도 원하는 대로 잘 움직여 준다.

🤸🏻‍♀️Feedback

개인 과제의 필수 구현사항을 잘 구현해냈고 선택 구현사항도 난이도 2개까지는 성공을 했다. 그러나 난이도 3개부터는 생각대로 잘 되지가 않아서 해설영상을 기다려야할 듯 싶다. . .
사실 아이패드 등을 활용하여 에셋들을 직접 제작하여 만들고 싶다는 욕심이 있었지만 역시나 시간이 부족하여 제공된 이미지들로 구현하였다. 언젠가는 내가 만든 이미지들로 구현된 게임을 꼭 만들어보고 싶다는 생각이 들었고, 맵을 하나하나 찍으면서 들었던 생각은 정말 애정도가 있어야 완성도가 높은 게임이 만들어진다는 것과 만들다보면 자연스럽게 애정도가 올라갈 것 같다는 느낌도 들었다.

0개의 댓글