전체 글 (151) 썸네일형 리스트형 Game Programming in C++ Chapter2 - 정리 책의 소스 코드를 직접 작성해보면서 정리한 글입니다. (실습환경: windows)책 소스 코드: GitHub - gameprogcpp/code: Game Programming in C++ CodeChapter2의 주요한 내용은'Actor - Component 기반으로한 게임 객체 설계' 방법이다. 실습 코드는 책 코드(깃허브)와 조금 다른 부분이 있다.Chapter1에서도 차이가 있긴 했지만, 그 차이가 거의 없는 수준이었다면,Chapter2에서는 실습에서 미구현 기능부터, 구현 방법 등 확연한 차이점이 존재한다.Chapter2의 주요한 내용이 '컴포넌트 기반의 게임 객체' 구현이므로, 실습에서 발생한 차이점이 중요한 것 같지는 않다.그래서 Chapter2는 이쯤에서 정리한다. Chapter2 게임 객체.. Game Programming in C++ Chapter2 - AnimationComponent 책의 소스 코드를 직접 작성해보면서 정리한 글입니다. (실습환경: windows)책 소스 코드: GitHub - gameprogcpp/code: Game Programming in C++ Code1. Animation Component 역할(기능)Sprite Component를 상속받아서 구현한다.기능설명Animtaion 기능Sprite Component에 Animation 기능을 더한다 2. Animation Component 생성 동작Sprite를 상속받았기 때문에, 기본적으로 동작이 유사하다.Step 1부모인 Sprite 생성자를 통해서 Game Manager에 등록된다.SpriteComponent::SpriteComponent(Actor* owner, int draw_order) : Compone.. Game Programming in C++ Chapter2 - BGSpriteComponent 책의 소스 코드를 직접 작성해보면서 정리한 글입니다. (실습환경: windows)책 소스 코드: GitHub - gameprogcpp/code: Game Programming in C++ Code1. BGSpriteComponent 역할(기능)Sprite Component를 상속받아서 구현한다.기능설명배경 스크롤Sprite Component에 스크롤 기능을 더한다 2. BGSpriteComponent 생성 동작Sprite를 상속받았기 때문에, 기본적으로 동작이 유사하다.Step 1부모인 Sprite 생성자를 통해서 Game Manager에 등록된다.SpriteComponent::SpriteComponent(Actor* owner, int draw_order) : Component(owner), _draw.. Game Programming in C++ Chapter2 - Sprite Component 책의 소스 코드를 직접 작성해보면서 정리한 글입니다. (실습환경: windows)책 소스 코드: GitHub - gameprogcpp/code: Game Programming in C++ Code1. Sprite 역할(기능)Sprite Component는 Component Class를 상속받는다기능설명Actor의 시각적 표현 담당이미지(텍스처) 그리기 2. Sprite 생성 동작Sprite는 생성될 때, Game Manager와 Actor 양쪽에 모두 등록된다.이 과정은 Actor, Component를 통해서 이루어진다. Step 1Sprite를 생성하기 위해서는 Sprite를 소유할 Actor가 필요하다.따라서 Sprite를 생성할 때, 소유할 Actor를 전달한다.Actor는 Game Manager를.. Game Programming in C++ Chapter2 - Component 책의 소스 코드를 직접 작성해보면서 정리한 글입니다. (실습환경: windows)책 소스 코드: GitHub - gameprogcpp/code: Game Programming in C++ Code1. Component 역할(기능)모든 Component의 부모 클래스이다.Actor에서는 Component 타입으로 모든 컴포넌트를 관리한다. (다형성)//Actor.hppstd::vector _components; 2. Component.hpp#pragma onceclass Component{public: Component(class Actor* owner); ~Component(); virtual void update(float delta_time);protected: class Actor* _owner;.. Game Programming in C++ Chapter2 - Actor 책의 소스 코드를 직접 작성해보면서 정리한 글입니다. (실습환경: windows)책 소스 코드: GitHub - gameprogcpp/code: Game Programming in C++ Code1. Actor 역할(기능)게임을 구성하는 객체를 표현하기 위한 기본 클래스이다.기능설명Component 관리(추가, 삭제, 업데이트)Component에 의해서 Actor의 역할 및 기능이 달라진다Transformation(위치, 크기, 회전) 관리게임에 객체를 나타내기 위한 정보 2. Structure.hppVector2 구조체를 별도 헤더로 만들었다.#pragma oncestruct Vector2{ float x, y;}; 3. Actor.hpp#pragma once#include #include "Struc.. Game Programming in C++ Chapter2 - Game Manager 책의 소스 코드를 직접 작성해보면서 정리한 글입니다. (실습환경: windows)책 소스 코드: GitHub - gameprogcpp/code: Game Programming in C++ Code GitHub - gameprogcpp/code: Game Programming in C++ CodeGame Programming in C++ Code. Contribute to gameprogcpp/code development by creating an account on GitHub.github.com1. Game Manager 역할(기능)기능설명게임 초기화 및 종료 관리SDL, SDL_image 초기화, 윈도우/렌더러 생성 및 제거게임 루프 관리processInput() → updateGame() → ge.. Game Programming in C++ Chapter2 - 컴포넌트 기반 게임 객체 책의 소스 코드를 직접 작성해보면서 정리한 글입니다. (실습환경: windows)책 소스 코드: GitHub - gameprogcpp/code: Game Programming in C++ Code1. 게임 객체(Game Object)게임을 구성하는 요소들이다.그동안 Game 클래스가 멤버 변수를 사용해서 모든 일을 처리했다.즉, 하나의 게임 객체안에 모든 기능(요소)을 구현했다. 2. 게임 객체 분리현재까지 구현한 게임 객체로 분리할 수 있는 요소는 3가지이다.a. 배경b. 우주선c. 게임 관리자(Game 클래스) 이렇게 게임 객체를 분리하면, 좀 더 유연한 구조로 게임을 만들 수 있다. 3. 컴포넌트(Component) 게임 객체 모델\( \text{Game Object} = \text{Actor} +.. 이전 1 2 3 4 ··· 19 다음