26. Unity 게임 개발 입문 주차(4)

이규성·2023년 11월 29일
0

TIL

목록 보기
31/106

11/29 개인과제 해설 영상을 보며 리마인드

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

정수 제곱근 판별

임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다.
n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하세요.

입출력 예

nreturn
121144
3-1
using System;

public class Solution 
{
    public long solution(long n) 
    {
        double x = Math.Sqrt(n);
        long answer = 0;
        
        if (x % 1 == 0)
        {
            answer += ((long)x + 1) * ((long)x + 1);
        }
        else
        {
            answer -= 1;
        }
        return answer;
    }
}

Math.Sqrt() 메서드를 활용하여 해결하였다.

📌개인과제 제출

오후 1시에 제출을 했고 해설 영상을 보며 수정한 사항을 적어보려 한다.

깃허브 !

로컬에 저장된 프로젝트를 수정하면 할 때마다 깃허브 내부 폴더에 붙여넣기를 해야 하는 건가.. 하면서 불편해하고 있었는데 그냥 유니티 허브에 깃허브 내부의 프로젝트를 추가해주면 바로바로 적용이 되었다!

걷는 애니메이션 추가

기존에는 가만히 있을 때의 애니메이션만 있었지만 캐릭터의 이동 시 걷는 애니메이션을 추가하였다.

Animator에 가만히 있을 때의 Player 애니메이션, 걸어다닐 때의 PlayerRun 애니메이션을 추가하고 서로 Transition을 연결해 준다.
그리고 Parameters에 bool 추가 후 Player -> PlayerRun은 true, 반대는 false로 설정

// 애니메이션 전용 스크립트 작성
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class AssignmentPlayerAnimation : MonoBehaviour
{
    PlayerInputController controller;

    [SerializeField] private Animator anim;

    private void Awake()
    {
        controller = GetComponent<PlayerInputController>();
    }    
    void Start()
    {
        controller.OnMoveEvent += AnimState;
    }
    void AnimState(Vector2 dir)
    {
        anim.SetBool("Run", dir.magnitude > 0);
    }
}

업로드중..Player에 스크립트 연결 후 Anim에 Animator를 연결시켜 주면 완성 !

🤸🏻‍♀️Feedback

해설 강의를 보니 기존 강의에서 이해를 못하고 넘어갔던 부분들을 자세히 설명해주셔서 너무 좋았다. 그리고 과제를 하며 느낀 점은 지금까지는 필수구현만 항상 생각했었는데 선택 구현도 어느정도는 도전해야 실력의 발전이 있겠구나 싶었다. . . 앞으로는 실패하더라도 도전해 볼 생각이다.

0개의 댓글