TIL

Unity Anim , Console.Write("Today is 25.01.24");

gaon99 2025. 1. 25. 17:38

부트캠프 5일차

 

1. 오늘 학습 키워드

Animation, C# 기초


2. 오늘 학습 한 내용을 나만의 언어로 정리하기

 

2-1 Animation

 

버튼에 마우스 포인터가 올라 갔을때엔 버튼의 크기를 키우고, 포인터가 버튼 밖으로 나갔을 때엔 다시 원래대로 크기가 돌아가는 Hover 애니메이션을 제작해서, 가시적으로 버튼을 선택을 했는지 안했는지, 그런 애니메이션을 제작했다.

우선 학습한 방법은 두 가지로, 첫 번째 방법은 컴포넌트 중에 Event Trigger를 사용하여, Mouse Pointer Enter 시에 설정한 Trigger Parameter를 실행되는 그런 방법이 있었다.

 

우선 두 가지의 애니메이션 클립을 제작해야한다.

1. Asset → Create → Folder → Animations 이름 변경 → Create → Animation 

커지는 애니메이션인 Grow, 작아지는 애니메이션인 Shrink 로 구별해서 이름을 변경해준다

2. Animation Clip을 해당 버튼에 넣어준다

3. Clip을 더블클릭 → 해당 버튼 클릭 

Grow = 0:10 : Inspector → Rect Transform → Scale X = 1.2, Scale Y = 1.2 

Shrink = 0:10 : Inspector → Rect Transform   Scale X = 1, Scale Y = 1 

※) 이때 원하는 프레임이나 시간에 맞춰 작업하면 커지거나 작아지는 속도를 제어할 수 있다.

 

Clip을 제작했으면 Animator를 설정한다.

1. 우클릭을 눌려 Make Transition 을 누르고 두 애니메이션을 연결해준다.

2. Parameter → +) → Trigger → ExitHover, EnterHover 만들기

그리고 이렇게 해당 버튼의 Inspector 창에  Event Trigger Component를 추가하고, 해당 버튼을 넣어준 다음, 

Animator → SetString() → Pointer Enter 에는 EnterHover, Pointer Exit에는 ExitHover 를 작성해준다.

그리고 Has Exit Time을 해제해주고, Transition Duration 을 0으로 설정해줘야, 애니메이션이 즉각적으로 작동한다.

이렇게 설정하면 이렇게 설정 가능하다

 

그리고 두 번째 방법이다.

 해당 버튼 Inspector 창에 보면 아래 이미지 처럼 Button Component 가 있다.

여기서 Transition → Animation 으로 변경해주고, Auto Generate Animation 버튼을 누르면 아래처럼 5개의 트리거가 생성된다.

Normal 기본 상태, 커서가 올려져 있지 않거나, 클릭하지 않은 상태
Highlighted 커서가 올라갔을때, 즉 Hover 상태
Pressed 버튼을 클릭이나 터치 했을 때
Selected 버튼을 선택한 상태로, 이때 활성화된 상태가 유지
Disabled 비활성화 되어 클릭이나 상호작용이 불가한 상태를 나타낼 때

이 중에서 우리는 커서가 올라갔을 때 즉 Hover 상태를 수정할 수 있는 Highlighted를 사용할 것 이다.

제작한 애니메이션 클립을 해당 버튼에 넣어주고

첫 번째와 마찬가지로 녹화를 누르고 0:10 : Scale X = 1.2, Scale Y = 1.2 값을 넣어주면 끝이다.

 

그럼 이렇게 버튼 Hover 애니메이션을 넣을 수 있다.

 


 

2-2 C# 기초

 

C# 문법 1주차에서는 흔히 코딩을 처음 배우면 가장 먼저 하는 Console.WriteLine("Hello World"); 와

변수와 자료형, 연산자와 문자열 처리에 대해서 배웠다.

학부생 시절 C 기초에 대해서 배웠던적이 있었지만 Char, String 을 가지고 작업하는 것에는 모르는 부분이 많았기에

배웠던 내용 중에 잘 기억해야 할 내용 위주로 작성하였다.

 

1. Split

namespace CS_1st_Week
{
    internal class Program
    {
        static void Main(string[] args)
        {
            Console.Write("Enter the information that you want to Read");
            String Enter = Console.ReadLine();
            String[] Info = Enter.Split(' ');
        }
    }
}

입력 받은 내용의 줄을 Enter라는 문자열로 받고, 이 받은 문자열 중에서 ' '인 공백을 기준으로 Info배열에 정보를 저장하는 것이다.

이제 저장한 내용을 출력하려면 이렇게 작성하면 된다.

Console.Write($"{info[0]}");

 그리고 이 저장한 내용을 가지고 정수형이나 실수형으로 계산을 하고싶다면

Parse를 사용하여 아래 구문처럼 작성하면 된다.

int.Parse(info[0]);
float.Parse(info[1]);

 

2. Var

Var 는 모든 자료형을 대체하여 사용할 수 있다.

int, float, char 등등

다른 사람의 코드를 사용할 때, 자료형을 알지 못할 경우 사용하면 유용하다.

Var Num = 10;
Var Ch = 'a'
Var Str = "String"
Var Flo = 9.99;

C#을 처음 다루기에 학부생 시절에 사용해본적이 없어서 현재 자료형으로 작성하는게 습관이 되어 잘 사용할지는 의문이다. 


3. 학습하며 겪었던 문제점 & 에러

애니메이션 루프 타임을 끄지 않으면 애니메이션 반복이 되니,, Hover 애니메이션을 원한다면 Loop Time과 Has Exit Time을 필히 꺼야한다.... C#은 기초에 대한 내용이므로 문제나 에러가 없었다.

4. 내일 학습 할 것은 무엇인지

원래 25.01.24에 작성이 되어야 하는 글이지만 시간이 늦은 관계로 다음날 작성하였다. 금일은 토요일이고 명일은 일요일이기에

명일은 조금 쉬며, 다음 주를 준비할 것 같다.