자료 관리 21

캐스팅 연산자 as

강의를 시청하다 as 연산자를 처음 봐서 이해가 안되어 정리해보는 시간을 가지게 되었습니다. 먼저 찾아보려던 as 연산자에 대해 알아보다 캐스팅 연산자라는 개념을 알게 되었습니다.캐스팅 연산자라는 것은 상속관계의 클래스간에 형변환이 필요할 때 사용합니다. as라는 키워드도 상속관계의 클래스의 형변환 여부를 알아보기 위해 사용하는 듯 합니다. 강의를 들으며 작성한 코드의 일부를 가져왔습니다.[대충 어택SO의 매개변수를 받는 함수](AttackSO attackSO){ RangedAttackSO rangedAttackSO = attackSO as RangedAttackSO; if (rangedAttackSO == null) return; . . . } 해당 코드 RangedAtta..

자료 관리 2024.10.10

델리게이트, Event

델리게이트는 메서드를 변수처럼 저장하여 사용하기 위한 사용법입니다. 함수의 복사본을 받아넣어 사용하는데 델리게이트로 선언한 반환형과 매개변수가 같아야만델리게이트에 전달이 가능합니다.델리게이트는 델리게이트에 들어가는 메서드의 반환형과 매개변수가 같아야하는 특징이 있습니다. [기본 구조]delegate 반환형 이름(매개변수)delegate int Calculation(int i)[델리게이트 변수 선언]public int Add(int x, int y) 라는 메서드가 있다면델리게이트이름 변수이름 = new 델리게이트이름(Add); //델리게이트에서 Add를 참조를 한후 선언Calculation addCal = new Caculation(Add);[델리게이트를 호출하여 참조한 메소드 호출]int result ..

자료 관리 2024.10.07

Send Messages

Input System 의  Send Message 기능에 대해 정리해본다.  Send Message는 미리 설정한 Input System의 특정키 값이 들어오면 특정한 함수를 자동으로 호출하는 방식이다. 비슷한 형식의 Broadcase Message를 사용하면 하위 계층의 오브젝트까지 제어가 가능하다. 이 특정한 함수들의 이름은 미리 만들어둔 Actions 의 이름을 차용하며On + Actions의 이름을 사용하게 된다. Send Message로 설정해두었다면 친절하게 사용할 수 있는 키워드를 밑에 출력해준다. 밑은 그 함수의 예시이다.  매개변수로 InputValue 즉 받은 값을 사용하여 그에 해당한 로직을 만들면 될것이다.public void OnMove(InputValue value){}

자료 관리 2024.10.07

(Unity 2D) 기본 컴포넌트

유니티에서 컴포넌트란유니티에서 의미하는 컴포넌트는 유니티에서 제공하고 있는 어떠한 기능을 가지고 있는 모듈들을 뜻합니다. 오늘 정리할 내용은 기본적으로 사용되는 기능의 컴포넌트에 관한 내용으로 앞으로 자주 쓰게될 것 같아 정리해두려합니다. SpriteRenderer SpriteRenderer는 2D 이미지를 표현해주는 컴포넌트입니다. Sprite 항목에 이미지를 집어넣어 오브젝트의 이미지를 변경할 수 있고Color 항목은 이름 그대로 오브젝트의 색상을 변경합니다.Flip 항목은 오브젝트의 X Y 각각 좌우 상하 반전을 시킬수 있습니다.Sorting, Order  in Layer 항목으로 화면으로 보여지는 우선순위를 정해줄 수 있습니다.   Rigidbody 2D  Rigidbody2D는 2D 게임에서 유..

자료 관리 2024.10.06

C# 코딩 스탠다드

프로그래머끼리 이름을 어떻게 작성할 것인지 약속한 것을 코딩 스탠다드라고 부릅니다.일을 한다면 혼자서 일을 하는 케이스가 아니라면 익혀두어야 하기에 배우는 과정에서 쓰이는 요소만 적어둡니다.(추후 추가 예정)camelCase 카멜 케이스 앞글자는 소문자 중간 글자 대문자PascalCase 파스칼 케이스 앞, 중간 다 대문자현재 저의 단계에선 camelCase , PascalCase 두 종류만 사용합니다. 클래스 클래스와 메서드의 표기는 파스칼 케이스 public class Character{ public void CharacterMove() { } public void CharacterJump() { }} 변수 이름 함수 내에서 쓰이거나 public..

자료 관리 2024.10.02

객체와 클래스

클래스를 배울 때 인터넷을 살펴본다면 저와 같은 비전공자들이라면 조금 생소한 단어가 많아 어떤것이 객체고클래스인지 인지 못하는 경우가 좀 있을 거라 생각합니다. 저 또한 그렇기에 기록을 남기며 저의 언어로 해석하고 직접 써보며 알아가는 것이 중요하다 생각하고 있습니다. 코딩을 함에 있어 전 항상 부족한 부분이 좀 많기에 보는 분이 보기에 불편한 사항이 있다면 알려주심 감사하겠습니다! Spider spider = new Spider(); (객체) (대입하는 클래스)  클래스란  클래스는 객체지향언어인 C#에서 쓰고싶지 않아도 계속 쓰게 될 요소라고 합니다.  한 스크립트에 너무 많은 코드가 들어가면 가독성도 가독성이지만 해석하기도 힘들고 중복되는 코드도 많이 생기게 됩니다. 따라서..

자료 관리 2024.09.27

C# 클래스 상속

C# 클래스엔 상속이라는 개념이 있습니다. 비슷한 개념의 클래스를 묶는 것을 말합니다.저희는  보통 상속시키는 클래스를 부모 클래스라 부르고 상속받는 클래스를 자식 클래스라 부릅니다.  public class Monster { public int level; public string name; public int hp; public int def; public int atk; public Monster() { Console.WriteLine("Im respawn!"); } } public class Minion : Monster { public Minion() { } } public class VoidIn..

자료 관리 2024.09.27

리스트 구조

List 리스트 이름 = new List();리스트를 선언한다.  이건 기본적으로 리스트를 선언할 때의 형태입니다.   리스트를 선언할 때 초기값을 넣어주고 싶다면  List 리스트 이름 = new List(){ 1, 2, 3}; 우린 위의 코드처럼 중괄호를 펼쳐서 안에 값을 집어넣습니다. 그런데 이것은 리스트에 Add를 사용하여 값을 집어넣는 것을 축약시킨 형태입니다. 풀어쓰면List 리스트 이름 = new List();리스트 이름.Add(1);리스트 이름.Add(2);리스트 이름.Add(3); 과 같은 형태가 됩니다.  리스트를 추가시키는 기능의 Add를 위의 코드는 숨기고 있던 것입니다. 그리고 이것 또한 풀어쓰면List 리스트 이름 = new List();int a = 1;int b = 2;..

자료 관리 2024.09.25

클래스를 사용하여 리스트에 여러 개의 변수를 넣는 방법

리스트의 값을 넣을 변수를 변수의 갯수만큼 지정합니다. 실행부를 만들어주고 (클래스와 이름 동일하게)  매개변수에 변수들에 집어넣어질 값을 변수 갯수만큼 지정해줍니다. this.(변수 이름)을 사용하면 매개변수와 변수의 이름이 같더라도 구분이 가능합니다. 각각 매개변수들을 저장할 변수들에 대입시켜주고  List를 선언할 때 자료형에 클래스의 이름을 붙여줍니다.  리스트에 항목을 추가할 때는 new를 사용하여 선언될 때마다 실행부가 작동하여 매개변수들이 변수로 저장될 수 있습니다. 리스트에 저장된 내용을 출력하고 싶을 땐 리스트의 클래스 안에 출력하는 메소드를 만들어주고 Shop.ShopItem_Armor[0].PrintArmor();처럼메인 클래스에 출력하고 싶으면 [리스트가 선언된 클래스]. [리스트 ..

자료 관리 2024.09.25

컬렉션(C#)

컬렉션이란 컬렉션은 자료를 모아 놓은 데이터 구조를 의미합니다. 컬렉션을 사용하는 이유 C#에서 배열은 크기를 정해두고 있어  배열의 내용을 수정하고 싶을 때 새로운 배열을 만들어복사를 해야합니다. 컬렉션은 배열과 비슷한 구조를 가지고 있어서 데이터 처리에 있어 배열을사용하기 불편할 때 사용합니다. C#에서 제공하는 컬렉션을 사용하려면System.Collections.Generic 네임스페이스를 추가하여야합니다. 컬렉션의 종류 List 리스트와 배열의 차이점은 가변적인 크기를 가지고 있다는 것입니다. 리스트는 동적으로 크기를 조절할 수 있어 배열보다 유연하지만 단점도 있는데배열보다 많은 메모리를 사용하여 성능 저하를 유발할 수 있어 무분별한 사용은 지양해야합니다.따라서 데이터의 크기와 사용목적을 고려하여..

자료 관리 2024.09.22