전체 글
-
[C++] 클래스를 살펴보기 전에C++/이것이 C++이다 2021. 2. 27. 01:36
C++이 C와 다른 것은 여러가지가 있지만 소소한 문법적인 요소를 제외하고 거시적으로 살펴본다면 '객체지향' 이라는 요소가 가장 두드러질 것 입니다. 본 글에서는 C++의 객체지향 구현 요소인 클래스를 살펴보기 전에 어떤 아이디어에서 객체지향이 등장했는지 단편적으로 살펴보도록 하겠습니다. 1. 구조체 더보기 예제를 먼저 보도록 하겠습니다. 이하 예제는 이름과 나이를 유저 데이터로 묶기 위해 구조체를 사용 한 예제입니다. Example (Struct) #include typedef struct User { int age; char name[24]; }User; int main() { User user = { 10, "Lee" }; printf("Age : %d\nName : %s\n", user.age, ..
-
[C++] 네임스페이스C++/이것이 C++이다 2021. 2. 12. 00:05
네임스페이스란 C++의 각종 요소 (클래스, 함수, 변수)를 일정 [구역]으로 묶어주는 문법입니다. 네임스페이스를 이용하게 되면 자칫 중복될 수 있는 클래스, 함수, 변수의 이름들을 소속 네임스페이스라는 한단계 더 높은 그룹화가 가능해지므로 규모의 프로젝트에서의 협업이 한층 더 용이해질 수 있습니다. 1. 네임스페이스 더보기 네임스페이스란 클래스, 함수, 변수에 소속을 지정해주는 문법입니다. #include namespace Sample{ int sample_data = 10; void function(){ std::cout
-
[C++] 함수 기본C++/이것이 C++이다 2021. 2. 12. 00:02
프로그래밍 언어에서 함수는 수학적인 함수의 기본적인 의미와 어느정도 일맥상통 합니다. 임의의 원소 (입력값)에 대하여, 특정하게 대응하는 원소 (출력값)이 존재하는 개념을 함수라 합니다. 이번 글에서는 C++에서의 함수의 여러가지 부분을 살펴 볼 것입니다. 1. 디폴트 파라미터 더보기 함수의 파라미터에 대하여, 그 파라미터에 대한 '기본 값' 을 설정할 수 있습니다. 다만, 디폴트 파라미터의 설정은 다음과 같은 규칙을 만족해야 합니다. 1. 디폴트 파라미터는 반드시 오른쪽부터 기술해야 한다. 2. 파라미터가 여러개일 경우 디폴트 파라미터 설정시, 그 오른쪽에 있는 모든 파라미터에 기본 값을 기술해야 한다. 3. 함수 호출시, 파라미터는 왼쪽부터 순서대로 입력되며 입력되지 않은 파라미터에 대하여 디폴트 파..
-
[C++] C와 C++C++/이것이 C++이다 2021. 1. 29. 17:18
C++는 C를 기반으로 만들어졌지만 절차지향인 C와는 달리, 객체지향의 요소를 도입했습니다. 또한 C에 '++'가 붙은만큼, C의 여러 요소를 개선, 변경한 부분이 있는데 이번 글에서는 그러한 변경점 중 간단한 몇 가지를 살펴보도록 하겠습니다. 1. 자료형에 대하여 더보기 C++의 정수형의 int, long 실수형의 float, double 등, 기본 자료형은 C와 C++, 그 외 다른 프로그래밍 언어와 유사합니다. 하지만 C++은 C에서 추가된 몇 개의 자료형이 있는데 bool, auto, decltype 등의 자료형이 바로 그것입니다. bool은 true, false의 논리적 참 거짓을 값으로 가질 수 있는 변수 auto는 컴파일러가 형식을 규정하는 변수 decltype은 declared type의 ..
-
04. [Unreal 4.x + Blueprint] 투명한 벽이 있는 맵을 만들어보자.Unreal Engine 4._/3D Arkanoid (KDW) 2020. 11. 11. 18:25
반가워요. 이번 글은 다음과 같은 내용이 포함되어 있어요. - 캐릭터의 움직임을 제한할 벽 배치 이번 글에서는 다음과 같은 내용을 고려하지 않아요. - 벽의 위치, 크기, 머테리얼 아직 배치에 대한 구상이 끝나지 않았기 때문에, GrayScale로 작업을 우선 해 둘 거에요. 단, 각각을 변경하는 방법들은 기술되었습니다. 그럼 바로 시작해볼께요. 말이 조금 짧아져도 양해해주세요. 지오메트리에서 박스 액터를 화면에 배치하자 이제 이 박스를 넓게 펴서 벽으로 써야한다. 기본 세팅으로는 화면 우측 하단에 [디테일] 탭이 있을 것이다. 혹시 저렇게 나와있지 않다면 바로 위에 [아웃라이너] 탭에 방금 배치한 Box가 선택되어 있는지 확인하자. [트랜스폼]은 나중에 건드리기로 하고, [Brush Setting]을 ..
-
03. 게임 소개 (3D Arkanoid)Unreal Engine 4._/3D Arkanoid (KDW) 2020. 11. 11. 14:14
반가워요. 사실 이 글이 제일 먼저 써져야하지 않았나... 싶네요 이번 글에서는 게임에 대한 간략한 소개를 한번 해 볼까 해요 사실 지금 글을 쓰는 순간에도 이걸 쓸까... 하면서 좀 망설이고 있는데, 제목만 봐도 거의 어떤 게임일지 유추가 가능한 게임이라.... 우선 시작해볼께요. 우리의 목표는 고전게임 '알카노이드' 를 언리얼 엔진으로, 3차원의 플레이가 가능하도록 만드는거에요. 왜 알카노이드냐.... 라는 질문이 나오신다면 첫 언리얼 프로젝트여서, 최대한 간단하고 단순한 게임을 만들어보는 것이 목표였기 때문이었어요. 지금부턴 회의때 그린 목업같지도 않은 목업을 풀어볼께요. 게임 주제는 3D 알카노이드지만, 게임 타이틀은 미정이에요. 늘 그랬듯이 완성 될 때 즈음 나오는 아이디어중에서 하나 고르게 되..
-
02. Unreal Proejct를 Github에서 받아오자. (feat. SourceTree)Unreal Engine 4._/3D Arkanoid (KDW) 2020. 11. 1. 12:29
반가워요. 인사는 짧게 하고, 바로 시작해볼께요. 본 글은 다음을 가정하고 쓰여져있어요. - milleatelier.tistory.com/2 에서 이어지는 내용 - Unreal Project가 이미 Github에 올라가있는 경우 혹시 Unreal Project를 Github에 올리는 내용이 필요하신분은, 이전 글을 참고해주시면 좋을거같아요. 그럼 시작해볼께요. 말이 짧아지더라도 이해해주세요 1. 빈 폴더를 하나 생성하자. (Unreal Project를 받아올 폴더) 2. Git bash를 열자 3. 디렉토리를 확인하고, Git initialize를 하자 4. SourceTree를 열고, 방금 초기화 한 폴더를 추가하자. 여기서 혹시 [추가]가 눌리지 않을 경우, git init을 한 폴더에 .git 폴더..