본문 바로가기

C#109

게임개발 중급(31) - 3D 게임 만들기(총정리) 3D 게임 만들기(총정리) 예제로서 필요한 기본기능에 대한 설명은 모두 마친것 같으니 여태 했던 내용을 총정리하겠습니다. 최종적으로 만들어진 내용물만 포함되어 있습니다. 하이어라키 창과 프로젝트 창 ACAUTIL, FreeButtonSet, OArielG 폴더는 UI에 사용된 에셋폴더들입니다. Material 오브젝트의 구분을 위해 색상을 적용시킨 머티리얼 입니다. Prefabs 이번에 만든 프리팹은 아이템 하나밖에 없습니다. Scripts 이번에는 총 5개의 스크립트가 사용되었습니다. 생각보다 많이 사용되지는 않은 것 같습니다. 스크립트를 하나하나씩 살펴보겠습니다. PlayerController using System.Collections; using System.Collections.Generic; .. 2023. 5. 22.
게임개발 중급(12) - 2D 플랫포머 게임 만들기(7) 2D 플랫포머 게임 만들기(7) 지난 시간에는 만들어진 프리팹 Coin을 사용하여 정해진 바운더리 안에서 3초마다 랜덤하게 생성되도록 하는 제너레이터 스크립트를 작성해 보았습니다. 이번에는 좀 더 플랫포머 게임다운 방식으로 게임에 변화를 줄 것입니다. 코인이 랜덤위치에 생성되는 것이 아닌 정해진 위치에서 생성되고, 일정속도로 왼쪽방향으로 움직이도록 만들고, 플레이어가 맵을 이탈하지 않도록 경계를 설정해 줄 것입니다. CoinSpawner 변경 using System.Collections; using System.Collections.Generic; using UnityEngine; public class CoinSpawner : MonoBehaviour { public GameObject coinPref.. 2023. 5. 1.
게임개발 중급(4) - 2D 룰렛 게임 만들기 2D 룰렛 게임 만들기 이번에는 저번에 이야기 했던대로 2D로 룰렛게임을 만들어 보겠습니다. 우선 게임이라고 하면, 사용자가 어떤 동작을 통해 오브젝트를 움직이게 할 수 있어야 합니다. 저희가 움직여야 할 오브젝트 요소는 룰렛 입니다. 게임의 기획을 간단하게 살펴본다면, 저희가 필요한 리소스는 룰렛이미지, 혹은 2D 오브젝트를 통해 직접 제작한 룰렛 그리고 룰렛바늘 이미지가 필요합니다. 필요한 이미지나 오브젝트를 먼저 위치에 맞게 씬에 배치하는 것이 1단계입니다. 2단계는, 사용자가 터치 혹은 클릭했을 때, 룰렛이 돌아가도록 해주어야 합니다. 그렇다면 컨트롤러 스크립트를 만들고, 돌아가는 주체가 룰렛이므로 룰렛 오브젝트에게 스크립트를 적용 시켜 주어야 합니다. 그리고 마지막으로 3단계는 룰렛이 돌기만 하.. 2023. 4. 23.
게임개발 초급(7) - 함수와 클래스 함수와 클래스 지난시간 까지는 반복문과 조건문에 대해 알아보았습니다. 마찬가지로 개발자라면 당연히 알아야 하는 함수와 클래스에 대해서 이번에는 이야기 해볼까 합니다. 함수와 클래스는 저희가 지향하는 C#과 같은 객체지향 프로그래밍에서 매우 중요한 개념입니다. 먼저 함수에 대해 알아봅시다. 함수 함수는 하나의 기능을 수행하는 코드 블록으로, 입력값을 받아 처리하고 출력값을 반환합니다. 함수를 사용하면 코드의 재사용성과 모듈화가 증가하며, 코드의 가독성이 향상됩니다. 간단한 예시를 통해 보자면, 함수는 보통 다음과 같은 형식으로 작성됩니다. public 반환타입 함수이름(매개변수) { // 함수 내용 return 반환값; } 여기서 public은 접근 제한자를 나타내며, 반환타입은 함수가 반환하는 값의 데이.. 2023. 4. 19.
게임개발 초급(4) - 객체지향과 접근제한자 객체지향과 접근제한자 기본적으로 C#은 객체지향 언어입니다. 따라서 객체지향의 특징을 띄고 있습니다. 그중에서도 저희가 알아볼 것은 접근제한자 입니다. 우선 객체지향이 뭔지 모를 수 있으니 객체지향에 대해서 먼저 알아보겠습니다. 객체지향 프로그래밍(Object-Oriented Programming, OOP)은 현실 세계의 개념을 프로그래밍에 적용한 패러다임입니다. 객체지향 프로그래밍에서는 데이터와 기능을 하나의 단위인 객체(Object)로 묶어서 관리합니다. 이를 통해 코드의 재사용성과 유지보수성이 향상되며, 코드의 가독성과 이해도도 높아집니다. 객체지향 프로그래밍의 특징은 다음과 같습니다. 캡슐화(Encapsulation): 데이터와 기능을 하나의 단위인 객체로 묶어서 외부에서의 접근을 제한하는 것을 .. 2023. 4. 16.
게임개발 초급(3) - C# 스크립트의 구조 C# 스크립트의 구조 저번에는 변수와 데이터타입에 대해 알아보았는데요, 변수와 데이터타입 설명에 초점을 맞추다보니 생략하고 넘어간 부분이 있어 그 부분을 이번엔 자세히 다뤄 볼까 합니다. 바로 유니티에서 C# 스크립트의 구조입니다. 유니티에서의 C# 스크립트 구조는 일반적인 C# 프로그램의 구조와 비슷하지만, 유니티 엔진의 기능과 라이프사이클에 맞게 구성되어 있습니다. C# 스크립트는 MonoBehaviour 클래스를 상속받아 작성합니다. MonoBehaviour 클래스는 유니티 엔진의 오브젝트에 부착되는 컴포넌트의 기본 클래스입니다. 유니티에서의 C# 스크립트 구조는 일반적으로 다음과 같습니다. using System.Collections; using System.Collections.Generic; .. 2023. 4. 15.
게임개발 초급(2) - 변수와 데이터 타입 변수와 데이터 타입 게임개발에 들어가기 전, 기본적인 개발지식부터 천천히 쌓아나가는 게 좋습니다. 저희가 이번에 알아볼 것은 변수와 데이터 타입입니다. 게임 개발에 사용되는 변수와 데이터 타입은 프로그래밍 언어에 따라 다소 차이가 있을 수 있지만, 일반적으로 다음과 같은 특징을 가집니다. 변수 변수는 값을 저장하는 메모리 공간을 의미합니다. 이 값은 프로그램 실행 중 언제든지 변경될 수 있습니다. 변수에는 이름이 있으며, 해당 변수를 식별하는 데 사용됩니다. 변수 이름은 일반적으로 의미 있는 단어로 지정됩니다. 변수는 데이터 타입에 따라 저장할 수 있는 값의 종류가 제한됩니다. 데이터 타입 데이터 타입은 변수가 저장할 수 있는 값의 종류를 정의합니다. 예를 들어, 정수형 변수는 정수값만 저장할 수 있습니.. 2023. 4. 14.
게임 개발의 기초(5) - C# C# 이전에 알아본 유니티(Unity)는 게임 개발을 위한 통합 개발 환경이며, C#, UnityScript, Boo 등의 프로그래밍 언어를 지원합니다. 그 중에서도 C#이 가장 많이 사용되는 언어입니다. 이번에는 C# 언어에 대해 알아보겠습니다. C#은 마이크로소프트(Microsoft)에서 개발한 객체 지향 프로그래밍 언어입니다. Java와 유사한 문법을 가지고 있으며, 간결하면서도 유연한 문법을 가지고 있어서 쉽게 배울 수 있고 높은 생산성을 가지고 있습니다. C#은 .NET 프레임워크에서 실행되는 언어로, CLR(Common Language Runtime)이라는 런타임 환경에서 실행됩니다. CLR은 C# 코드를 컴파일하고, 실행할 때 필요한 런타임 환경을 제공합니다. C#은 다양한 운영체제에서 실행.. 2023. 4. 6.
게임 개발의 기초(4) - C언어 C언어 앞선 글에서는 게임 프로그래밍에 사용되는 게임엔진에 대해 알아보았습니다. 그럼 이제 엔진에서 사용되는 언어에 대해 알아봐야겠죠? 하지만 저는 다양한 언어에 대해 자세히 파고들기 전에 C언어에 대해 먼저 알고 가는것이 좋다고 생각합니다. 그렇기 때문에 이번엔 C언어의 유래부터 차근차근 알아보겠습니다. C 언어의 유래 C 언어는 1960년대 후반에 벨 연구소(Bell Labs)의 데니스 리치(Dennis Ritchie)와 켄 톰슨(Ken Thompson)에 의해 시작되었습니다. 당시 벨 연구소는 유닉스(Unix) 운영체제를 개발하고 있었는데, 이를 위해 고급 언어가 필요했습니다. 그래서 데니스 리치는 이전에 개발한 BCPL 언어에서 영감을 받아 새로운 언어를 만들게 되었습니다. 이 언어는 PDP-11.. 2023. 4. 6.