League Of Legends - Link Select '게임 개발' 태그의 글 목록 (2 Page)
본문 바로가기
반응형

게임 개발13

[winAPI 10] Resource & Path Manager 지금까지는 단순히 도형만을 다루어봤다면 이제는 본격적으로 리소스를 활용해보자. 실제 게임에서는 이미지, 사운드 등 여러 리소스가 있고 이를 이용해 화면에 여러 장면을 그려 유저에게 보여준다. 우선 이 리소스가 기본적으로 가져야 할 데이터를 모아 Res클래스를 만들어준다 (부모격 클래스)리소스를 구별하기 위해 고유의 ID와 이 리소스가 어느 파일에 위치해 있는 지를 알려주어야 함으로 경로를 갖고 있어야 한다. // Res.h#pragma onceclass Res {private: wstring key; // 고유 ID wstring strRelativePath; // 리소스 상대 경로(폴더 내의 변하지 않는 경로)public: Res(); ~Res(); void SetKey(const wstring& .. 2024. 6. 6.
[winAPI 06] Key Manager - 기존 키 입력 방식의 문제  우선 발생할 수 있는 첫 번째 상황은 A와 B 물체가 이동하는 게임에서 키 매니저가 없다면, 각 물체는 자신의 키 입력을 개별적으로 처리하게 된다. 그렇게 될 경우 키를 처리하는 수 백 번의 상황 중에 A 물체는 현재 프레임에서 이동을 처리하지만, B 물체는 다음 프레임에서 이동을 처리하는 경우가 생길 수 있다. 이는 유저의 입장에서 A 물체는 먼저 이동하고, B 물체는 약간의 지연 후에 이동하는 것처럼 보이게 된다.   두 번째 상황은 우리가 점프 게임을 한다고 가정하자. 짧게 점프할 때와 길게 점프를 누를 때 날라가는 폭과 거리가 다르게 설계하려고 한다면, 이를 어떻게 구현할 것인가?  현재 우리가 작업하는 구조는 매 순간순간 UPDATE 함수를 확인하고, 모든 업데이.. 2024. 6. 4.
[winAPI 04] Timer 저번 시간에 작성했던 프로그램을 토대로 게임을 만든다고 했을 때 두 가지 문제가 있을 수 있다 1. 컴퓨터가 느린 사람과 빠른 사람의 이동 속도가 달라질 수 있다. 즉 CPU의 속도에 따라 처리 속도가 달라져 1초 당 이동 거리 속도가 다른 문제가 발생한다. 2. 정수 단위로 이동하고 있어서 1초에 엄청나게 많은 거리를 이동하고 있다. 우선 실수 단위로 이동 시켜 보도록 하자 기존 Object class에서 POINT 객체로 되어 있던 것을 vec2 라는 객체로 만들겠다. 여기서 vec2는 우리가 아는 수학적 2차원 개념이다. // new header file : struct.h #pragma once struct Vec2 { float x; float y; Vec2() :x(0.f) ,y(0.f) {}.. 2024. 4. 9.
[winAPI 03] Core class & Singleton 코어(Core)는 말그대로 중심이라는 의미로 주요한 기능을 제공하고 전반적인 프로그램 구조를 정의하며 싱글톤(singleton)은 클래스의 인스턴스가 단 하나만 생성되도록 보장하는 소프트웨어 패턴이다. 우리가 프로그램을 만들 때 코어 클래스의 객체가 중심이 될 것이기에 이 객체는 여러 개일 수가 없어 싱글톤 패턴으로 구현하고자 한다. - Core class ( 동적할당 Heap 영역 사용 ) // Core.h class Core { private: static Core* pInst; Core(); ~Core(); public: static Core* Instance() { if (pInst == nullptr) { return new Core; } return pInst; } static void Rel.. 2024. 4. 8.
728x90
반응형