전체 글(26)
-
[C++] 클래스(class)와 객체(instance)
클래스(class)와 객체(instance) 목차 1. 절차적 프로그래밍&객체지향 프로그래밍 2. 클래스와 객체(instance) 1. 절차적 프로그래밍 & 객체지향 프로그래밍 절차적 프로그래밍 객체지향 프로그래밍 - 프로시저(Procedure)를 이용하여 작성하는 프로그래밍. 프로시저는 절차를 뜻하며 작업의 순서를 기반으로 함. - 직관적이고 고정된 정해진 루트의 프로그램을 작성하는데 유리함. - 순서가 뒤바뀌면 결과값을 보장할 수 없기에 유지보수가 어렵다는 단점이 있음. - 절차적 프로그래밍을 사용하는 대표적인 언어로는 C언어가 있음. - 프로그래밍에 필요한 데이터와 동작의 그룹을 객체로 정의하고 객체들간의 상호작용을 기반으로 함. - 데이터에 중점을 두는 방식. 대형 프로젝트를 진행하는데 유리함. ..
2023.03.19 -
[C#] Hello, World! 출력하기
Hello, World! 출력하기 Visual studio를 실행 후, 템플릿에서 콘솔 앱(.NET Framework)을 선택해준다. (Visual studio 2019 사용중) 만약 콘솔 앱이 보이지 않는다면 Visual studio Installer를 실행하여 수정 -> .NET 데스크톱 개발을 설치해주면 된다. 프로젝트를 무사히 생성한 모습이다. 화면 구성은 사람마다 모두 다를 수 있으며 상단의 [보기] 메뉴를 통해 필요한 창을 끄고 켤 수 있다. 만약 보이지 않는 창이 있다면 [보기] 메뉴를 확인해보자. using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading...
2023.03.18 -
[C#] C#의 특징 및 C++와의 차이
C#의 특징 C#은 C++을 계승한 객체지향 언어이다. (++ 밑에 ++를 붙이면 #이 된다는 사실. C++을 계승한 언어에게 딱 맞는 이름이다.) 마이크로소프트의 앤더스 헤일스버그가 만들었으며 범용성이 좋은 .NET(닷넷)에 최적화된 언어라고 볼 수 있다. 그럼 C#의 특징을 몇 가지 살펴보도록 하자. 목차 1. .NET이란? 2. C#의 특징 3. C++와의 차이점 1. .NET이란? .NET(닷넷)은 데스크톱과 웹, 모바일 어플리케이션, 게임, 사물인터넷등 다양한 프로그램을 빌드할 수 있는 오픈 소스 플랫폼이다. 때문에 하나의 프로그램을 다양한 플랫폼에서 실행할 수 있어 범용성이 좋은 프레임워크라고 한다. 닷넷은 마이크로소프트에서 제작되었기 때문에 윈도우 운영체제에서 가장 강력한 성능을 보인다. C..
2023.03.18 -
[Unity] 3ds Max에서 Unity 크기 단위 설정
3ds Max에서 Unity 크기 단위 설정 게임을 제작하다보면 3ds Max를 통해 Unity 작업에서 필요한 오브젝트를 만들어야할 때가 있다. 하지만 Unity에서 아무리 더미 모델로 크기를 맞춰보아도 두 툴의 크기 단위가 맞지 않는다면 무용지물. 더욱 편리한 작업을 위해 3ds Max에서 간단하게 Unity 크기 단위로 설정하는 법을 알아보자. Unity의 scale 기본 단위는 Meter이다. 1*1*1사이즈의 큐브를 생성한다면 그 크기는 1M * 1M * 1M가 되는 것이다. 그러니 3ds Max의 기본 단위를 Meter로 바꿔주면 된다. 단위는 Customize -> Units Setup에서 바꿔줄 수 있다. Unit Scale을 Metric - Meters로 설정해준다. 해당 설정으로 3ds..
2023.03.17 -
[Unity 공포게임] 맵 제작(1) - Fog(안개)와 Directional Light로 밤 시간대 만들기
Fog(안개)와 Directional Light로 밤 시간대 만들기 이번 프로젝트에서 제작할 게임은 산장에서 야간경비 아르바이트를 하게된 주인공의 이야기다. 때문에 맵의 주요 컨셉은 '숲 속' 이며 모든 플레이는 밤 시간대에 진행된다. 게임에 사용할 맵은 야외 지형을 만들기 좋은 Terrain을 이용해 제작했다. 700*700 사이즈의 지형을 사용했으며 최적화를 위해 나무는 플레이어가 가는 길목 주위로만 심어두었다. 조금 더 빽빽히 심어두면 좋겠지만 나무를 너무 많이 깔아버리면 게임이 버벅일 가능성이 있으며 어차피 라이트를 조정하고 안개를 깐다면 주변은 일부만 보일 것이다. 이제 이 맵을 밤 시간대, 조금 더 나아가 공포게임스러운 분위기로 바꿔볼 차례. 지금은 상당히 밝고 어딘지 모르게 미묘한 느낌이다...
2023.03.17 -
[C++] 문자열 (cstring과 string)
목차 1. C언어의 문자열과 입출력 2. C언어의 스트링함수 (cstring) 3. C++의 문자열 (string) 1. C언어의 문자열 문자(character)는 하나의 글자를 의미하며 이러한 문자들이 여러개 모여 만들어진 것이 문자열(string) 이다. 하나의 글자를 의미하는 문자는 char형 변수에 저장하므로 문자들이 모여있는 문자열은 char형의 배열을 이용하여 저장할 수 있다. 위 이미지를 살펴보면 배열의 끝에 \0이라는 문자가 들어있다. 이것은 NULL문자라고 하며 문자열의 끝에는 반드시 NULL문자를 표시해주어야 한다. 그렇다면 왜 문자열의 끝에 NULL 문자를 표시해야 할까? 우선 정수형 변수는 사용되는 바이트의 개수가 4byte로 항상 일정하다. 하지만 문자열은 사용되는 바이트의 개수가..
2023.03.12