c++
[C/C++] 프로그래밍 시작은 Visual Studio와 함께 (다운로드/설치법) (+Visual Studio에 배경화면 넣기)
C/C++을 공부하고 싶은 여러분들 반갑습니다. 혹은 평소와 다른 컴퓨터에서 Visual Studio를 이용하려는데 어떻게 설치하는지 기억이 안 나시는 분들도 반갑습니다. 이 글에서는 Visual Studio 다운로드와 설치 및 간단한 설정 작업을 다룰 것입니다. 시작이 반이라고 하죠. 이제 막 프로그래밍을 접한 불쌍한 전공생 분들 혹은 호기심 많은 취미생 분들, 복습하는 분들까지 모두 환영합니다. 힘들지만 보람있는 여정을 지날 여러분들의 첫 발자국이 여기에 있습니다. Visual Studio를 설치해봅시다. Visual Studio 다운로드 및 설치 https://visualstudio.microsoft.com/ko/downloads/ Visual Studio Tools 다운로드 - Windows, M..
C++ Smart Pointer Type Traits 구현하기
생 포인터인지 검사하는 것은 std 라이브러리에서 가능하다. 스마트 포인터인지도 검사 가능하게 만들어보자. 1 2 3 4 5 6 int main() { static_assert(woon2::is_unique_ptr_v); static_assert(woon2::is_shared_ptr_v); static_assert(woon2::is_smart_ptr_v); } Colored by Color Scripter cs 예제 코드 // ========================================================================== // Test Code // ==================================================================..
fmod를 이용한 게임 사운드 프로그래밍
사운드 FMOD https://www.fmod.com/ FMOD The sonic universe of Creaks We talked to the creative team responsible for the audio of Creaks, the latest game from renowned Czech game developer, Amanita Design. Visit blog www.fmod.com https://documentation.help/FMOD-Studio-API/FMOD_System_CreateSound.html System::createSound - FMOD Studio API Documentation System::createSound C++ Syntax FMOD_RESULT System..
게임 클래스와 씬 클래스 추가
코드 #ifndef _game #define _game #include #include "timer.h" #include "scene.h" class game { public: void process_input( UINT msg, WPARAM w_param, LPARAM l_param ) { switch ( msg ) { case WM_KEYDOWN: keyboard( w_param ); break; } } void on_wtimer( UINT id ) { // if ( game_timer.timer_id == id ) // { auto lag = game_timer.getlag(); auto ms_per_frame = game_timer.get_ms_per_frame(); if ( lag
타이머 간략화
이전 구현 https://jartlife.tistory.com/64 게임 타이머 구현 가변 프레임 이전의 게임 타이머 구현은 아래 글에서 볼 수 있다. https://jartlife.tistory.com/52 게임 프레임 관리 게임의 동작 게임은 일정 시간 간격마다 사용자 입력을 처리하고 객체들을 업데이트 jartlife.tistory.com 이전 구현은 위 글에서 볼 수 있다. 중첩 클래스가 가독성을 좀 심하게 나쁘게 했다. 그리고 타이머 클래스가 지고 있는 책임이 너무 무거운 것 같다. 게임의 기능을 추가하려고 그 복잡한 클래스 중첩 구조를 추적해서 update()와 render() 함수를 건드리기란.. 별도의 클래스를 추가하는데 timer.h 파일을 매번 건드려야 한다는 것도 심각한 설계 미스다. ..
게임 타이머 구현
가변 프레임 이전의 게임 타이머 구현은 아래 글에서 볼 수 있다. https://jartlife.tistory.com/52 게임 프레임 관리 게임의 동작 게임은 일정 시간 간격마다 사용자 입력을 처리하고 객체들을 업데이트한 뒤 객체들을 렌더링한다. 따라서 게임에서 타이머의 역할은 매우 중요하다. 게임의 거의 모든 기반이 타 jartlife.tistory.com 유저는 30프레임, 60프레임 등등 FPS(시간 당 프레임)를 조절할 수 있다. 가변 프레임 환경에선, 프레임 기반의 이벤트 처리 요청이 정확한 시간 조건을 보장하지 못한다. 현재 FPS가 20 FPS라면 60 프레임 뒤에 발생할 사건은 3초 뒤에 발생하는 것이 되고, 현재 FPS가 60 FPS라면 60 프레임 뒤에 발생할 사건은 1초 뒤에 발생하..