44,000원
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
Activator 질문있습니다
안녕하세요, 루키스님강의 항상 잘 보고있습니다. 항상 감사합니다. 다름이 아니라,스킬 데이터를 Json 형식으로 저장한 뒤 Dictionary로 파싱하여 저장하고각 스킬 이름에 해당하는 클래스의 인스턴스를 만들어 저장하는 방식을 사용한 적이 있고, 이번에도 같은 방식을 필요한 상황이 생겼는데(인스턴스를 직접 선언해 저장하는 방식은 노가다라고 생각해서 이렇게 했었습니다)코드는 아래와 같습니다.리플렉션으로 스킬 타입을 가져온 뒤, Activator로 인스턴스를 생성했습니다.Type type = Type.GetType(skill.skillName);Skill newSkill = (Skill)Activator.CreateInstance(type);newSkill.skillData = skill;skillDictionary.Add(newSkill.skillData.id, newSkill); 처음 해당 코드를 사용할 때에는 별 생각이 없었는데,추가적으로 리플렉션에 대해 구글에 검색하다보니 굉장히 다양한 의견들이 있더군요.성능에 안좋다, 테스트용이다, 빌드 후에는 리플렉션 관련 코드는 사용하지 말아야한다.. 등등 제가 Reflection과 Activator를 사용한 부분은 게임 실행 직후에만 Json으로부터 데이터를 파싱하여 해당 타입의 인스턴스를 만들어 저장하기만 하는데, 그렇더라도 성능에 영향을 미치는지 궁금합니다. 혹은 위와 같이 수많은 데이터를 인스턴스화하고, 초기화 하는 다른 좋은 방법이 있을까요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
이넘 타임 선언 질문
textRPG 직업고르기 강의에 관해서 질문합니다.enum 타입으로 ClassType을 선언해서 직업을 열거하고.Main 함수에서 ClassType choice = ClassType.None;라고 선언해주는데 ClassType.None; 은 무슨의미일까요..? 왜 .None 으로 지정해주는건지 이해가 안됩니다 🥲
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
Sort 오름차순, 내림차순
대리자로 소트를 오름차순, 내림차순을 쉽게 구현할 수 있다고 하셨는데namespace 4.델리게이트{internal class Program{delegate void Sort(int[] arr);static void MinSort(int[] arr){int id;for(int i = 0; i < arr.Length - 1; i++){id = i;for (int j = i + 1; j < arr.Length; j++){if (arr[j] < arr[id])id = j;}int temp = arr[id];arr[id] = arr[i];arr[i] = temp;}}static void MaxSort(int[] arr){int id;for (int i = 0; i < arr.Length - 1; i++){id = i;for (int j = i + 1; j < arr.Length; j++){if (arr[j] > arr[id])id = j;}int temp = arr[id];arr[id] = arr[i];arr[i] = temp;}}static void PrintArr(int[] arr){foreach (int a in arr)Console.Write(a + " ");Console.WriteLine();}static void Main(string[] args){// delegate (대리자) 사용 빈도 높음 주의int[] arr = new int[] { 20, 10, 40, 50, 15 };Sort[] sort = new Sort[] { MaxSort, MinSort };string str = Console.ReadLine();switch (str){case "max":sort[0](arr);break;case "min":sort[1](arr);break;}PrintArr(arr);}}} 혹시 이것도 그 편한 방법에 포함되는 코드라고 할 수 있을까요?그리고 Sort sort = MaxSort; sort += MinSort;이렇게 두개의 함수를 추가한다하면제가 위에서 보낸 코드 처럼 sort[0]으로 접근이 안되는데 어떻게 접근해야할까요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
질문 있습니다.
제네릭은 c++ 템플릿이랑 같다고 생각하면 될까요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
팩토리얼 문제
static int Factorial (int n) { return n * Factorial(n-1); } static void Main(string [] args) { int ret = Factorial(5);Console.WriteLine(ret);} Factorial(5)가 int ret으로 할당되었고, Factorial(n)이므로 n이 5로 삽입되었다는걸까요?static int Factorial 구문에서 반환값이 return n * Factorial(n-1); 이렇게 표기되어 있어서 n-1 이므로 Factorial(5)가 나오기 위해서는 n에 6이 할당되어야 하는게 아닌가요? 각각 static 구문의 의미랑 로직이 어렵네요핳 모르겠습니다 도와주세영 .. 🥲
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
Sort함수 질문있습니다.
안녕하세요.선생님은 이중 포문에j의 초기값을 i로 두었는데요 i + 1로 두는게 더 효율적이지 않나요? minindex의 값은 i일테고 i다음 인덱스부터 비교하는 건데j가 i의 인덱스를 갖고 있다면arr[i] < arr[j(즉 i)] 같은걸 비교하니까 비효율적인 루틴하나가 더 추가된 게 아닌가 싶어서요!static void SortArr(int[] arr){ int minindex = 0; for (int i = 0; i < arr.Length; i++) { minindex = i; for (int j = i + 1; j < arr.Length - 1; j++) { if (arr[j] < arr[minindex]) minindex = j; } int temp = arr[i]; arr[i] = arr[minindex]; arr[minindex] = temp; }}저는 이렇게 구현해봤는데 선생님이랑 다르니까 좀 불안해지는 느낌이더라구요또 j가 i+1이라면 arr의 길이 -1만큼 조건식을 둬도 되는 거지요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
다형성 함수 질문 있습니다.
안녕하세요.SuperKnight 객체에 Player를 상속받고 있는 Knight객체를 상속 받았는데, override를 통해 SuperKnight 객체에도 Move함수를 구현했습니다.class SuperKnight : Knight // 이중 상속{ public override void Move() { base.Move(); Console.WriteLine("SuperKnight 이동!"); }} 그후 main에서 SuperKnight superKnight = new SuperKnight(); superKnight.Move();Move 함수 호출 시 최상위 부모(Player), 부모(Knight), 자식(SuperKnight)의 Move함수가 순차적으로 콜 되던군요.(아래처럼)Player 이동!Knight 이동!SuperKnight 이동!이게 맞는 거죠?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
질문이 있습니다.
안녕하세요.C# 기본 문법 클래스 형식 변환에서EnterGame함수를 통해 인자로 들어오는 player를 Mage로 형변환하여 Mage타입만 들고 있는 필드(int mp)를 수정하는 걸 보여주셨는데, 이렇게 되면 knight 타입의 함수도 따로 만들고, 다른 직업도 따로 만들어야 하는 거 아닌가요?저 함수 하나로 모든 직업을 커버하는 방법은 어떤게 있을까요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
섹션2 연습문제 질문입니다.
연습문제중 팩토리얼 구현에 있어서 질문 드립니다. static int Factorial(int a){for (int i = a - 1; i >= 1; i--){a *= i;}return a;}static void Main(string[] args){int ret = Factorial(3);Console.WriteLine(ret);} 이 구현도 괜찮을까요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
안녕하세요~서버에 대해 질문이 있습니다.
안녕하세요. 게임 기획자로 일하다가 게임 서버 개발자가 되고 싶어서 공부중입니다.c++, c# 게임 서버를 만드는게 목표입니다.선생님의 강의엔 유니티와 언리얼과 연동하여 서버를 만들고 계신데, 게임 엔진과 연동을 하지 않는다는 가정 하에 서버 강의를 들어도 무관한지 여쭙고 싶습니다.저는 게임 엔진 같은 클라이언트 부분은 포폴로 넣지 않고 콘솔 혹은 테스트 클라이언트나 포스트맨을 이용할 예정이라서요!
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
텍스트 색깔이 제 편집기와 달라서 수강에 어려움이 있습니다ㅜㅜ
선생님 글꼴 및 색에서 기본값 사용하신다고 다른 질문 게시판에서 답변해주셨는데 저도 기본값 사용 중이지만 달라서 질문 드립니다... 예를 들면 강의에선 public Knight Clone이 순서대로 파랑 노랑 주황인데제 것은 파랑 민트 노랑 이런 식입니다,,,, 옵션-환경-글꼴 및 색에서 c#은 안 보이고 일반 텍스트만 색깔 변경이 가능하고 이렇네요,,,,,,
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
visual studio2022에서 c# 프로젝트 로드가 안됩니다
만들고나서 로드가 안되어 불러오기를 해봤는데.NET.Sdk SDK를 찾을 수없다고 했는데 .NET 데스크톱 개발, Unity를 사용한 게임 개발 모두 설치 되어있습니다어떻게 해야할지 모르겠습니다
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
해상도
안녕하세요 강의 정말 잘 듣고 있습니다.혹시 해상도는 계속 720 인 건가요?강의 내용 모든 게 다 좋은데 해상도가 ㅠㅠ
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
클래스 분리
player.cs파일을 따로 만드셔서 거기에 캐릭터 별 클래스를 다 넣으셨는데 현업에서는 캐릭터 별로 더 세부적으로 cs파일로 분리하나요? 아니면 강의에서 쓰셨던 코드처럼 한 cs파일에 player, knght, mage등 여러 클래스가 들어있나요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
struct활용 방법
한 가지의 공통된 주제를 가지고 있는 속성들을 struct에 여러 데이터형식과 이름으로 저장해두고 각각 필요한 함수에 넣어서 사용하는거 맞나요?활용하는 방법은 하나의 클래스에 저장해두고 여러 클래스에다가 사용하는거 맞나요?예를 들어 스탯과 관련된 큰 클래스에다가 struct함수를 만들어 정리해두고 각각 다른 클래스에다 호출해서 사용하는거요
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
정수 범위의 비밀
보통 int로 사용하신다고 하셨는데 만약 레벨이 롤처럼 18이 최대라면 int보단 sbyte나 byte를 쓰는게 더 좋나요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
유니티 이중List 인스펙터 창에 띄우기
이중 List를 인스펙터 창에서 띄우고 싶은데 1차원 리스트밖에 인스펙터에 표시가 안되네요 ㅠㅠ2차원 List를 인스펙터 창에서 띄우려면 어떻게 해야 할까요? 구글링 한 결과 오딘? 하고 새로 MyList 클래스를 Util폴더에 만든 뒤에 그걸 사용하고.. 인스펙터 창에 띄우는..? 그런거 같긴 한데 잘 모르겠어요 ㅠㅠ루키스님은 이 경우 어떻게 사용하시는지, 사용할 계획이신지 답변이 궁금합니다!좋은 설 되세용
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
인터페이스 상속 시 재정의
안녕하세요 강의를 듣다가 의문이 생겨서 질문 하나 올립니다.인터페이스를 상속 받은 클래스를 다른 클래스에서 상속받게 된다면 해당 자식 클래스에서 인터페이스에 대한 함수 재정의를 한번 더 해야하는 걸까요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
textRPG 전투 강의에서 Fight 함수 질문있습니다!
본 강의에서 fight함수에서 ref를 사용하셨는데 out을 사용해도 같은가요?? 그리고 만약 그렇다면 out 대신 ref를 쓰신 이유도 궁금합니다.
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
Public MonsterType GetMonsterType() {return type;}은 생략해도 문제없는건가요?
public PlayerType GetPlayerType() { return type; }public MonsterType GetMonsterType() { return type; }해당 메소드는 수업에서 딱히 선언 후 사용 되지 않았기 때문에생략해도 문제는 없는 걸까요? 혹시 사용 한다면 어떤식으로 사용이 되는걸까요?