유니티 10

내일 배움캠프 16일차 : Action , Func 키워드를 사용한 이벤트 사용

오늘 공부한 내용📝오늘은 C#에서 `event`와 함께 `Action` 및 `Func`를 활용하는 방법을 학습했다. `delegate` 대신 `Action`과 `Func`를 사용하면 더 직관적이고 간결한 코드를 작성할 수 있다. 이들의 차이점과 사용 시점을 이해하기 위해 다양한 예제를 실습해보았다.왜 Action과 Func를 사용할까?🤔기존 delegate를 사용하면 메서드 서명을 따로 정의해야 하는 번거로움이 있다. 하지만 Action과 Func를 사용하면 코드를 더 간단하게 작성할 수 있으며, 직관적인 형태로 메서드 서명을 지정할 수 있다.Action은 반환값이 없는 메서드 호출 시 사용된다.Func은 반환값이 있는 메서드 호출 시 사용된다.Action 사용 예시 Action은 반환값이 없는 메서..

내일배움캠프 2024.10.04

내일배움캠프 14일차: 이벤트

오늘 공부한 내용📝오늘은 C#에서 event라는 개념을 배웠다. delegate를 활용할 때 왜 event를 사용해야 하는지 헷갈렸지만, 여러 예제를 보며 delegate와의 차이를 이해할 수 있었다. event는 delegate의 접근을 제어하는 역할을 하며, 외부 클래스에서 직접 delegate를 호출하지 못하도록 막아주는 역할을 한다.왜 event를 사용해야 할까?🤔 event는 delegate의 외부 접근을 제한하고, 클래스 내에서만 안전하게 호출할 수 있게 해준기 때문이다. 예를 들어, delegate를 사용한 경우 외부에서 호출을 막지 않으면 예상치 못한 메서드가 실행될 수 있다. 이를 방지하기 위해 event를 사용해 이벤트 구독만 가능하게 하고 호출 권한을 클래스 내부로 한정시키는 것이..

내일배움캠프 2024.10.01

내일배움캠프 12일차: const와 readonly

오늘의 공부: const와 readonly 📝오늘은 팀원 분께서 가르쳐주신 const와 readonly 키워드에 대해 추가적으로 공부해보았다. const와 readonly는 모두 값을 변경할 수 없도록 설정하는 키워드이지만, 각각의 사용 시점과 용도가 다르다.const란?const 키워드는 상수(Constant)를 정의할 때 사용됩니다. 상수는 선언과 동시에 값을 지정해야 하며, 이후에 값을 변경할 수 없습니다. const는 컴파일 타임에 결정되는 상수로, 기본형 타입(정수, 실수, 문자열 등)이나 불변적인 값에 주로 사용됩니다. 클래스 내에서 const는 암시적으로 static이므로, 인스턴스가 아닌 클래스 자체와 연관되어 사용됩니다. const 특징반드시 초기화 시 값을 할당해야 함:const 변수..

내일배움캠프 2024.09.27

내일배움캠프 11일차: 추상 클래스

오늘의 공부 📝오늘은 추상 클래스 개념이 헷갈려 집중적으로 공부하였다. 추상 클래스는 공통적인 기능을 제공하면서도, 특정 기능에 대해서는 자식 클래스가 반드시 구현하도록 강제하는 개념이다. 추상 클래스는 인스턴스화할 수 없고, 상속을 통해서만 사용된다. 또한, 추상 메서드를 통해 자식 클래스에서 해당 메서드를 반드시 구현하게 강제하며, 이를 구현하지 않으면 컴파일 오류가 발생한다. 추상 클래스 (Abstract Class)란?추상 클래스는 공통적인 기능을 제공하면서, 구체적인 동작이 필요한 부분은 자식 클래스에서 구현을 강제하는 개념이다. 추상 클래스 자체는 인스턴스화할 수 없으며, 반드시 상속을 통해 사용이 된다. 추상 메서드를 통해 자식 클래스가 해당 메서드를 반드시 구현하도록 강제할 수 있으며, ..

내일배움캠프 2024.09.26

내일배움캠프 게임개발 과정 7일차: Ref 와 Out 키워드

오늘 공부한 내용📝오늘은  ref와 out 키워드에 대해 배웠다. 두 키워드는 모두 참조에 의한 전달을 가능하게 하지만, 각각의 사용 방식과 조건이 다르다. 이를 통해 메서드가 값을 반환하거나, 여러 값을 수정하는 상황에서 유용하게 사용할 수 있다.ref 키워드역할: ref는 변수를 참조로 전달하여, 메서드 내에서 값이 변경되면 원본 변수에도 그 값이 반영되도록 한다.사용 조건: 메서드에 전달하기 전에 변수가 반드시 초기화되어 있어야 한다.사용 예시:int number = 10;ModifyValue(ref number);void ModifyValue(ref int value){ value = 20; // 원본 변수의 값이 20으로 변경됨}out 키워드역할: out은 메서드가 여러 값을 반환할 수..

내일배움캠프 2024.09.20

내일배움캠프 게임개발 과정 6일차: float 데이터형 끼리의 비교

오늘 공부한 내용📝오늘은 float 자료형끼리의 비교에 대해 배웠다.  float은 정확한 값이 아니기 때문에 ==로 비교하면 오류가 발생할 수 있다. 이를 해결하기 위해 "허용 오차(Epsilon)"를 사용하여 두 값의 차이가 매우 작은 경우, 같다고 간주하는 방법을 배웠다.float a = 0.1f + 0.2f;float b = 0.3f;float epsilon = 0.00001f;if (Math.Abs(a - b)  이 코드는 float 값이 부정확하게 저장될 수 있다는 점을 보완해, 좀 더 안정적인 비교를 가능하게 해준다.궁금한 내용 / 부족한 내용 🤔비슷한 원리로 double 자료형끼리도 비교할 때 주의가 필요하다는 것을 알게 되었다.double은 float에 비해 더 높은 정밀도를 제공하지..

내일배움캠프 2024.09.19

내일배움캠프 게임개발 과정 5일차

오늘 공부한 내용📝 개발자로서 가져야 할 사고어려웠던 부분😭좋은 코드 구조에 대해서 아직 감이 잘 안 잡혔다. 예를 들어, 특정 메서드를 어떤 클래스에 선언하고 사용하는 것이 좋은지, 새로운 클래스를 만드는 것이 적절한지, 아니면 기존 클래스에서 사용하는 것이 더 나은지에 대한 고민이 많았다.궁금한 내용 / 부족한 내용🤔게임 프로그래밍 컨벤션 느낀점😺오늘 라이브 세션 강의에서 개발자로서 필수적인 사고 방식에 대해 들었다. 개발하고 싶은 게임의 레퍼런스를 분석하며, 게임의 구성과 기능 우선순위, 변수명 선정 등 게임 개발을 위한 사고 방식에 대해 깊이 있게 배울 수 있었다. 이 지식을 바탕으로, 기존에 강의를 보며 구현했던 프로젝트들을 다시 분석하며 무엇을 개선할 수 있을지 고민한 하루였다. 이제 ..

내일배움캠프 2024.09.13

내일배움캠프 게임개발 과정 4일차 - 카드 뒤집기 게임 보완하기

오늘 공부한 내용📝4주 차 강의를 바탕으로 카드 뒤집기 게임의 도전 기능을 구현해 보았다. 이번 학습은 주로 게임의 몰입도를 높이기 위한 디테일한 개선 작업에 집중했다.특히 유니티 애니메이션, 문제 해결 능력, 그리고 게임 리소스를 어떻게 효율적으로 활용할지에 대해 깊이 있게 탐구했다. 프로그래밍 외적인 부분들에도 많은 시간을 투자한 하루였다.어려웠던 부분😭몰입도를 높이기 위해 여러 기능을 추가했지만, 주변 요소들이 만족스럽지 않았다. 게임의 전체적인 완성도를 높이기 위해서는 코딩 외에도 더 많은 작업이 필요하다는 것을 느꼈다.궁금한 내용 / 부족한 내용🤔좋은 게임 디자인이란?느낀점😺오늘의 학습을 통해 좋은 게임을 만들기 위해서는 프로그래밍 능력 외에도 내가 가지고 있는 도구들을 효과적으로 활용하..

내일배움캠프 2024.09.12

내일배움캠프 게임개발 과정 2일차

오늘 새로 배운 내용📝풍선을 지켜라 게임   1. 마우스를 통한 오브젝트 이동   2. PlayerPrefs를 활용한 데이터 저장 및 불러오기   3. Animator 사용  고양이 밥주기 게임  1. 유니티 캔버스의 렌더 모드  2. RectTransform을 통한 UI 요소 배치 및 크기 제어  3. OnTriggerEnter2D와 OnCollisionEnter2D의 차이점 르탄이 카드 뒤집기 게임  1. PixelPerUnit을 통한 스프라이트 크기 조절  2. System.Linq의 OrderBy 메소드를 통한 배열 값 무작위 정렬  3. 유니티 Resources 폴더 사용법 Unity 주변 기능 학습  1. 스플래시 이미지 만들기  2. 사운드 추가 하기   3. DontDestroyOnLoa..

내일배움캠프 2024.09.10

내일배움캠프 게임개발 과정 1일차

오늘 배운 내용📝GitHub 사용법더보기git은 무엇인가? github의 사용법과 충돌이 일어나는 상황과 대처법 깃 플로우 전략과 깃 컨벤션(더 좋은 협업을 위한 규칙) 빗물받는 르탄이 게임 만들기더보기transform.position 값을 조정해 게임 오브젝트 이동 기기 성능에 따른 게임 프레임 차이를 관리하는 방법 gameobject끼리의 충돌 ( Rigidbody2d , Collider , OnCollision~2D )스크립트가 부착된 게임오브젝트 내 컴포넌트 가져오기Instantiate를 통한 게임 오브젝트 생성InvokeRepeating를 통한 함수 반복Instance와 싱글톤유니티에서 특정 신을 불러오기 위한 방법어려웠던 부분🥲아직 보충 학습 주차라 github를 실제로 사용해 보지 않아..

내일배움캠프 2024.09.09