본문 바로가기
반응형

분류 전체보기124

C# - 파티셜 클래스 ( Partial class ) 파티셜 클래스 ( Partial Class )  C#은 실용적이면서도 강력한 언어로, partial class 같은 기능들은 개발을 훨씬 편하고 유연하게 만들어줍니다. 이런 기능들을 깊게 이해하고 활용하는 것이 개발자로서 중요한 부분이죠. partial class는 정말 유용한 기능입니다. 클래스를 여러 곳에서 정의할 수 있어서 코드를 조직화하고 유지보수하기 쉽게 만들어줍니다. 특히, Code Generator가 자동으로 생성하는 부분과 개발자가 직접 작성하는 부분을 분리할 때 partial class가 특히 유용하게 사용됩니다. 이렇게 하면 개발자는 자신이 신경 쓸 부분에만 집중할 수 있어요. 또한, 여러 명의 개발자가 한 클래스를 함께 작업할 때 발생할 수 있는 충돌을 방지하기 위해 partial c.. 2024. 5. 20.
C# - Struct ( 구조체 ) / Enum ( 열거형 ) 구조체( Struct )정의구조체(struct)는 여러 개의 변수를 하나의 그룹으로 묶어 관리할 수 있는 사용자 정의 데이터 타입입니다. C, C++, C#, Rust, Swift 등의 많은 프로그래밍 언어에서 사용되며, 서로 관련된 데이터를 하나의 논리적인 단위로 묶어줍니다. 개요구조체는 객체 지향 프로그래밍의 클래스와 유사하지만, 일반적으로 클래스보다 간단하고 가벼운 데이터를 관리할 때 사용됩니다. 구조체의 멤버는 다양한 데이터 타입을 가질 수 있으며, 이를 통해 복잡한 데이터 구조를 간편하게 정의할 수 있습니다. 열거형(Enum)정의열거형(enum)은 이름을 가진 상수들의 집합을 정의하는 사용자 정의 데이터 타입입니다. 열거형을 사용하면 코드의 가독성을 높이고, 특정 값들만 사용해야 하는 경우 이를.. 2024. 5. 19.
[Unity] TextMeshPro 사용법 및 한글 오류 해결방법 Unity - TextMeshProTextMeshPro는 Unity 게임 엔진에서 텍스트 렌더링 품질을 향상시키는 고급 텍스트 레이아웃 및 렌더링 시스템입니다. 주요 기능으로는 고해상도 텍스트 렌더링, 다양한 텍스트 스타일링 옵션, 텍스트 정렬 및 서식 설정, 그리고 텍스트 효과(그림자, 윤곽선 등)를 포함합니다. TextMeshPro는 동적 텍스트 생성과 고성능을 제공하며, UGUI 및 Unity의 기존 텍스트 컴포넌트보다 더 많은 제어와 유연성을 제공합니다. 먼저 Hierarchy 창에서 UI - Text - TextMeshPro를 추가해보겠습니다. 그 후 TextMeshPro를 사용하기 위해 필요한것들을 Import하라고 문구가 나옵니다.Import TMP Essentials를 클릭해 Import하.. 2024. 5. 19.
[Unity 2D] 캐릭터 애니메이션 및 달리기 구현 저번에 이어서 이번에는 케릭터가 움직이는 방향에 따라 바라보게 설정하고, 케릭터의 움직임그리고 애니메이션 기능을 추가해보겠습니다.제가 작성한 이 글은 강좌 목적 글이 아니며, 학습 내용을 익히고자 하는 글이라 완벽하고 정확하지 않을 수 있습니다. 먼저 Charator(Player)에서 Add Component로 Animator를 추가해줍니다.그 후 Controller에 Player를 넣어주고 타겟을 설정해줍니다. 폴더를 생성하고 Animation > Animator Controller를 생성합니다.여기서 우리는 애니메이션의 모든 행동을 제어하겠습니다.이름은 Player라 만들어주고 안으로 들어가보겠습니다.저는 애니메이션을 idle , Walk , Run 기본적인 구성으로 준비하였으며, 직접 연결이 아닌 .. 2024. 5. 19.
[Unity 2D] 캐릭터 움직임 구현 오늘은 간단하게 기초적인 움직임 구현을 만들어 보겠습니다.이동을 구현하는 방식에는 여러방식이 있지만, Input Axis를 이용하여 만들겠습니다.Unity - Input Axis를 사용한 움직임 구현Unity에서 입력을 다루는데 가장 일반적으로 사용되는 것 중 하나는 "Input Axis"입니다."Input Axis"는 사용자 입력에 대한 값들을 담고 있는데, 예를 들어 "Horizontal"과 "Vertical"은 주로 좌우와 상하 움직임에 사용됩니다. Horizontal 값은 보통 -1에서 1까지의 범위를 갖습니다. 만약 음수 값을 갖는 키를 누르면 왼쪽으로 이동하게 되고, 양수 값을 갖는 키를 누르면 오른쪽으로 이동합니다. Vertical도 비슷한 원리로 작동합니다. Rigidbody2D ?Rigi.. 2024. 5. 18.
C# - 연결 리스트(Linked List) 연결리스트 ( Linked List )정의연결 리스트(Linked List)는 각 노드가 데이터와 다음 노드를 가리키는 포인터를 포함하는 데이터 구조입니다. 노드(Node)는 연결 리스트의 기본 단위로, 리스트의 요소를 표현합니다. C#에서는 LinkedList 클래스를 제공하여 연결 리스트를 쉽게 사용할 수 있습니다.개요연결 리스트는 배열과 달리 요소가 연속된 메모리 위치에 저장되지 않고, 각 요소가 포인터로 연결되어 있습니다. 이 때문에 연결 리스트는 요소의 삽입과 삭제가 배열보다 효율적일 수 있습니다. 연결 리스트에는 다음과 같은 유형이 있습니다:단순 연결 리스트(Singly Linked List): 각 노드가 다음 노드에 대한 포인터만 가짐.이중 연결 리스트(Doubly Linked List): .. 2024. 5. 18.
Unity|Error - Failed to import package with error: Couldn't decompress package 해결 Unity 에러 코드| Failed to import package with error에러 내용Failed to import package with error: Couldn't decompress package유니티에서 리소스를 임포트할 때 종종 발생할 수 있는 에러입니다. 발생 이유 잘못된 파일 경로 : 임포트하려는 파일의 경로가 잘못되어 파일을 찾을 수 없는 경우. 파일 형식 문제 : 지원되지 않는 파일 형식을 임포트하려고 하는 경우. 권한 부족 : 파일에 접근하거나 읽을 수 있는 권한이 부족한 경우. 파일 손상 : 임포트하려는 파일이 손상되어 읽을 수 없는 경우. 종속성 문제 : 필요한 라이브러리나 종속성이 누락되어 파일을 임포트할 수 없는 경우.해결법리소스 파일의 경로가 올바른지 확인합니다. 경로.. 2024. 5. 18.
C# 팩토리 패턴 (Factory Pattern) 팩토리 패턴 ( Factory Pattern )정의팩토리 패턴은 객체 생성의 인스턴스화 로직을 별도의 클래스나 메서드로 분리하여 객체 생성을 캡슐화하는 디자인 패턴입니다. 이를 통해 클라이언트 코드가 객체 생성의 구체적인 클래스에 의존하지 않게 하고, 객체 생성의 로직을 재사용할 수 있게 합니다.개요팩토리 패턴은 객체 지향 프로그래밍에서 객체 생성을 별도의 클래스나 메서드로 분리하여 객체 생성의 책임을 캡슐화하는 생성 패턴입니다. 이를 통해 클라이언트 코드가 구체적인 클래스에 의존하지 않고, 인터페이스를 통해 객체를 생성하도록 합니다. 팩토리 패턴은 객체 생성을 중앙에서 관리하며, 객체 생성 로직의 변경이 필요할 때 클라이언트 코드를 수정하지 않아도 되도록 유연성을 제공합니다. 또한, 코드의 재사용성을 .. 2024. 5. 18.
Unity|Error - Screen position out of view frustum 해결 Unity 에러 코드| Screen position out of view frustum 발생 : Unity 게임 시뮬레이션 테스트중 발생. / 컴파일중 다른 행동을 하면 간혈적으로 나타나기도 합니다. 에러 내용  Screen position out of view frustum (screen pos 363.000000, 312.000000, 0.000000) (Camera rect 0 0 610 508)UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&) 해결법 카메라 영역을 특정 오브젝트나 UI 요소가 카메라의 뷰 프러스텀(view frustum) 밖에 위치해 있음을 나타냅니다. 이 경우는 특히 GUI 요소와 관련이 있습니다 GUI 요소의 위치 확인 : GUI.. 2024. 5. 18.
728x90
반응형