C#40 [C#, Unity] C#으로 게임 개발하기 게임 개발 산업은 PC, 콘솔 및 모바일 장치를 포함한 다양한 플랫폼에서 플레이할 수 있는 몰입감 있고 매력적인 게임을 만들려는 개발자의 수가 증가하면서 최근 몇 년 동안 급속한 성장을 경험했습니다. 오늘날 개발자들이 가장 많이 사용하는 게임 개발 엔진 중 하나는 다양한 게임을 만들기 위한 강력하고 다양한 플랫폼을 제공하는 Unity입니다. Unity는 게임 개발에 가장 많이 사용되는 프로그래밍 언어 중 하나인 C#을 비롯한 다양한 프로그래밍 언어를 지원하는 크로스 플랫폼 게임 엔진입니다. C#은 성능, 보안 및 사용 용이성을 포함하여 게임 개발에 적합한 다양한 기능을 제공하는 현대적인 객체 지향 언어입니다. 이 블로그에서는 Unity와 C#이 게임 개발에 훌륭한 조합인 이유와 자신만의 게임 개발을 시작.. 2023. 2. 14. [C#, Unity] 몹, 객체 복사하기 (에러 처리) 게임을 만들다가, 적을 만들고 복사를 하는데 그 적이 죽어버리면(Destroy) 더 이상 복사를 하지 못했다. 복사할 객체가 사라져버렸기 때문이다. 그리고는 이런 에러 메세지를 남긴다. MissingReferenceException: The object of type 'GameObject' has been destroyed but you are still trying to access it. Your script should either check if it is null or you should not destroy the object. 유니티 초보인 나는 이런 에러 메세지를 받아도 답을 찾기 힘들어한다. 마침 같이 운동하고 있는 친구 중, 유니티 개발자가 있어 이런 일이 있다고 했더니 프리팹(Pref.. 2023. 2. 13. [C#] C#과 .NET framework 소개 (Introduction to C# and the .NET framework) C#은 2000년에 Microsoft에서 개발한 대중적이고 현대적인 객체 지향 프로그래밍 언어입니다. C#은 데스크톱 응용 프로그램에서 웹 응용 프로그램, 모바일 및 게임 응용 프로그램에 이르기까지 광범위한 응용 프로그램을 구축하는 데 널리 사용됩니다. C#은 또한 응용 프로그램과 서비스를 구축, 배포 및 실행하기 위한 플랫폼인 .NET 프레임워크의 기본 프로그래밍 언어입니다. 이 글에서는 C# 및 .NET 프레임워크를 소개하고 이들이 개발자에게 중요한 이유를 살펴봅니다. C#이란? C#은 간단하고 배우기 쉽고 표현력이 풍부하도록 설계된 정적 형식의 명령형 프로그래밍 언어입니다. 소규모 유틸리티 프로그램에서 복잡한 엔터프라이즈 애플리케이션에 이르기까지 광범위한 애플리케이션을 구축하는 데 사용됩니다. 개발.. 2023. 2. 12. [C#] 디자인 패턴 in C#: Singleton, Factory, and Observer Patterns (싱글톤, 팩토리, 옵저버 패턴) 이전부터 사내 선배 개발자 분들께서 어떤 부분을 싱글톤으로 바꾸었다고 몇번 말씀하셔서, 싱글톤에 대해 알아보다가 디자인 패턴을 알게 되었습니다. 알아봐도 잘 모르겠지만, 메모는 남겨둡니다. 디자인 패턴은 소프트웨어 개발의 근본적인 측면이며 개발자가 직면하는 일반적인 문제에 대한 입증된 솔루션 역할을 합니다. C#의 세계에는 모범 사례로 널리 사용되고 인정되는 몇 가지 디자인 패턴이 있습니다. 이 글에서는 C#에서 가장 인기 있는 세 가지 디자인 패턴인 Singleton, Factory 및 Observer를 살펴보겠습니다. Singleton Pattern Singleton 패턴은 인스턴스에 대한 글로벌 액세스 지점을 제공하면서 클래스에 인스턴스가 하나만 있는지 확인하는 생성 패턴입니다. 이 패턴은 코드의 .. 2023. 2. 12. [C#, Unity] 캐릭터 움직임 2D 게임 개발 중, 각 메소드에 대한 설명 Input.GetKeyDown = 키를 누르는 순간 Input.GetKey = 키를 누르고 있는 동안 Input.GetKeyUp = 키를 떼는 순간 transform.Translate(x, y, z) = x, y, z 축으로 정한만큼 이동 unity의 transform.Translate는 1초당 화면 깜빡임 (frame)으로 오브젝트의 움직임을 표현한다. 따라서 각 기기마다 프레임이 다를 수 있다. 갤럭시 휴대폰도 60Hz, 120Hz 중 고를 수 있다. 따라서 게임 개발자가 프레임당 속도를 5로 지정하고, 60Hz로 플레이하는 사람이 있다고 한다면 1초당 5 * 60 = 300의 속도로 캐릭터가 움직이는 게임을 할 것이고 120Hz로 플레이하는 사람은 5 *.. 2023. 2. 5. [C#] 클래스의 속성에 변수로 접근하기 구글에 검색은 아래와 같이 하였다. c# access class property by name 그 중 첫번째 결과에 들어갔고, https://stackoverflow.com/questions/10283206/setting-getting-the-class-properties-by-string-name Setting/getting the class properties by string name What I'm trying to do is setting the value of the property in a class using a string. For example, my class has the following properties: myClass.Name myClass.Address myClass.Pho.. 2023. 1. 5. [C#] Cannot deconstruct dynamic object 해결하기 dynamic 형식을 하나 받아서 여러가지 변수를 한 메소드 안에서 만드려고 하니 Cannot deconstruct dynamic object 와 같은 에러가 떴다. 모두 영어로 검색 결과가 뜨길래 한국어 결과로 하나 나오게 해보자며 쓴다. 방법은 2가지가 있다. 1. Casting class Deconstruct { static void Main() { dynamic d = new Test(); // Variables we want to deconstruct into string text; int number; // Approach 1: Casting (text, number) = ((string, int)) d.Method(); } public (string, int) Method() => ("tex.. 2022. 7. 26. [C#] 테스트 케이스 첫 작성 참조: https://docs.nunit.org/2.5/testCaseSource.html NUnit.org TestCaseSourceAttribute (NUnit 2.5) TestCaseSourceAttribute is used on a parameterized test method to identify the property, method or field that will provide the required arguments. The attribute has two public constructors. TestCaseSourceAttribute(Type s docs.nunit.org 공식 문서 등 다른 테스트 케이스에 관한 자료가 많았지만, 모두 하나의 데이터에 대한 테스트여서 여러가지를 테스트 해.. 2022. 6. 15. [C#] 상대 경로가 같은 여러 게시 출력 파일을 찾았습니다 C# 개발 중 "상대 경로가 같은 여러 게시 출력 파일을 찾았습니다" 라는 에러를 받았다. 구글에 검색해보니 흔한 에러는 아닌듯이 답변이 많지 않았다. 다행히 제일 위 게시물이 dotnet 에러 메세지 github였고, 거기서 힌트를 얻을 수 있었다. https://github.com/dotnet/sdk/blob/main/src/Tasks/Common/Resources/xlf/Strings.ko.xlf GitHub - dotnet/sdk: Core functionality needed to create .NET Core projects, that is shared between Visual Studio and CLI Core functionality needed to create .NET Core pro.. 2022. 3. 18. 이전 1 2 3 4 5 다음