전체 글 6

Effective c++ 자습서 2 - 1장

항목 01 : C++를 언어들의 연합체로 받아들이는 안목은 필수 오늘날의 C++는 다중패러다임 프로그래밍 언어라고 불립니다. 절차적 프로그래밍을 기본으로 하여 객체 지향, 함수식, 일반화 프로그래밍을 포함하여 메타프로그래밍 개념까지 지원하고 있습니다. C++는 C에서 파생된 객체 지향 위주의 프로그래밍 언어이나, 한가지 규약에 의해서 작동되는 단일 언어라고 하긴 어렵습니다. 본 책에서는 4가지의 하위 언어로 C++를 구성하여, 단일 언어가 아닌 하위 언어들의 연합체라고 명시하고 있습니다. C C의 기본적인 문법을 따르는 언어이기 때문에 C의 용법들을 채용합니다. (블록, 문장, 선행 처리자, 기본제공 자료형, 배열, 포인터 등) 객체 지향 개념의 C++ 클래스, 캡슐화, 상속, 다형성, 가상 함수(동적 ..

프로그래밍/C++ 2021.02.25

Effective C++ 자습서 1 - C++ 기본 용어 정리

*size_t : sizeof() 등 자료의 크기값을 반환하는데 사용되는 자료형. 주로 unsigned 형으로 형변환하여 사용된다. *explicit 키워드 : 생성자앞에 첨부시 의도치 않은 형변환을 방지할 수 있다. ex) explicit A(int); *캐스팅 : 형 변환. 1. 선언 (Declaration) 코드에 사용되는 '어떤 대상'의 이름과 자료형을 컴파일러에게 알려주는 행위. 구체적인 세부사항은 선언에 들어있지 않음. ex) exturn int x; // 외부 코드에 있는 정수형 객체 a 선언 std::size_t numDigits(int number); // 함수 선언 class Widget; // 클래스 선언 template class GraphNode; // 템플릿 선언 2. 시그니처 ..

프로그래밍/C++ 2021.02.17

[Unity] 시네머신(Cinemachine) 1 - 편리한 카메라워크 구성하기

시네머신(Cinemachine)은 유니티에서 별도의 코딩없이, 카메라가 다양한 동작을 할 수 있도록, 다양한 기능이 들어간 가상 카메라를 씬에서 구현하여, 자동 연산을 통해 부드럽게 화면 전환이 가능한 컴포넌트입니다. 컷신, 실시간,2D 등 여러가지 상황에 어울리는 다양한 기능이 포함되어 있어 여러 방면으로 사용가능합니다. 시네머신 설치 Window>Package Manager 를 통해 패키지 매니저를 띄워주시고 상단의 드롭다운 메뉴에서 Unity Registry를 선택해주신 다음, 목록에서 Cinemachine을 선택 후 우측 하단 Import 혹은 Install 버튼을 통해 임포트 후 설치합니다. 시네머신 브레인 (Cinemachine Brain) 가상 카메라를 연결할 카메라에 시네머신 브레인 (Ci..

[DirectX 자습일지] 윈도우 구성

대충 다이렉트X 유튜브 튜토리얼을 하나 키고 따라해보고 있다. 영어라서 잘 알아듣지는 못하겠는데, 교수님이 예전에 했던 Win32 API 수업이 언뜻 생각나는것 같기도하다. 파이프라인에 대한 강의는 별로없이 진도만 쭉쭉 뽑았으니깐, 별로 기억도 안난다. 그래서 백지상태에서 다이렉트X를 시작하는것과 다름없다. 뭐 시간은 많으니깐, 영어는 모르지만 일단은 따라해보면서 모르는 클래스는 여기다가 메모하는게 좋지 않을까? 싶다. 그래서 빈 프로젝트를 만들고, 강의대로 main cpp 파일을 하나 만들어 함수 하나를 입력한다. WinMain 함수 WinMain 함수는 윈도우 프로그램의 시작점으로, main 함수에 해당하는 함수라고 한다. hInstance : 프로그램의 인스턴스 핸들 hPrevInstance : 바..

프로그래밍/C++ 2020.10.20

[Unity] 타일맵 (Tilemap) 2 - 타일맵의 기능을 확장해보자! (2D Extras)

유니티 패키지 매니저로 다운받거나, 기존에 포함되어 있는 타일맵 기능 이외에도, 유니티 테크놀러지스는 GitHub 저장소에 별도의 타일맵 확장 기능을 제공하고 있습니다. 설치과정이 꽤 복잡하게 느껴질수도 있지만, 유용한 기능들을 많이 포함하고 있습니다 🙂 설치하기 https://github.com/Unity-Technologies/2d-extras 설치에 앞서, 깃(git)을 통해 다운로드 받아야하기 때문에 깃을 먼저 설치해두셔야합니다! 깃이 설치되어 있는지 확인해주세요~ 깃을 새로 설치하셨다면, 유니티와 유니티 허브를 재시작해주시고 계속 진행해주세요 상단 메뉴 Windows>Packages Manager 를 통해 패키지 매니저를 열어줍니다. 그리고 Add package from git URL을 통해 위..

[Unity] 타일맵 (Tilemap) 1 - 타일로 이루어진 맵을 만들어보자!

타일맵이란? 타일맵 (Tilemap) 이란, 2D 레벨을 구현할때, 타일 에셋들을 가져와 관리하고 타일들의 배치와 속성을 관리하는 컴포넌트입니다. 쉽게 말해서, RPG만들기 툴처럼 타일같은 그림파일을 불러와 쉽게 팔레트에 등록시켜 찍어내듯이 맵을 구현할수 있다는 거겠죠? 그래서 유니티에서 지형을 구현할때 이런 기능이 없었을땐 외부 api를 쓰거나 (Tiled 등) 에셋을 구매하거나, 하물며 직접 구현해야 하기도 했습니다. 그래서 타일기반의 게임 구현이 많이 쉬워졌죠. Unity 2017.2 버전 부터, 유니티 2d 환경에서 좀더 쉽게 타일기반의 맵을 구현할 수 있게 자체 라이브러리인 타일맵을 제공하고 있습니다. 또한 2018 버전을 거듭하면서 Hexagonal, Isometric Tilemap 또한 구현..