운영체제/입출력 시스템 : Windows API

[게임 프로그래머 입문 올인원] Windows API 입문 : 리소스(92강)

순정법사 2024.04.08

A. 리소스

1. 리소스 실습하기

플레이어가 원모양이고 너무 지루하니 소스를 가져와서 넣어보자

 

맵툴은 나중에 I'm GY를 사용할것임

 

a. EditScene 생성하기

그림을 그리는 툴인 EditScene을 생성

 

Game 안에 EditScene 생성

 

Scene을 상속받는 기본 구조를 만들어주고, 그림을 그리기 위한 선과 마지막 좌표, 불리언 값을 멤버 변수로 넣어줌

 

Update() 함수에서 마우스로 선의 위치를 저장하는 코드를 작성해주고

 

위에서 생성한 정보를 렌더링하는 코드를 작성해준다

 

b.EditScene 테스트하기

위에서 생성한 EditScene을 테스트하기 위해 개발환경을 바꿔준다

 

Enums.h 파일의 SceneType에 EditScene 추가해주고

 

테스트하기 위해 Game.cpp 파일의 Init 호출 시 EditScene으로 변경해준다

 

당연히 ChangeScene에서도 EditScene을 추가해줘야 끝!

 

여기까지 하고 실행하면 이렇게 선이 그어진다!

 

위에서 생성한 툴을 가지고 비행기를 만들어서 리소스로 넣어줄 것임 

 

c. 파일 입출력 실습하기 : fstream

다양한 파일 입출력 기능이 있지만 이번엔 <fstream>을 사용해 실습

 

include 해준다

 

1) 저장

 

Update() 내부 /.모든 라인을 순회해 저장하고 파일에 넣어주기

 

2) 로드

 

Update() 내부 /.저장한것과 반대로 데이터를 순회해 복원시키는 과정

 

여기까지 만들어서 s, d를 테스트해보면 이렇게 기준점이 이상하게 잡힘

 

위와같이 저장할 떄 기준점을 어디다가 맞춰야 하는지 문제가 생기는데

대부분 플레이어의 발을 기준으로 맞추게 됨

 

여기서는 가장 큰 값과 작은값의 중간을 맞춰서 해볼예정

 

이부분

 

3) 기준점 좌표 만들기

 

a) 저장

 

모든 라인을 포멧하기 전에 중앙값을 먼저 구해주기

 

포멧하기 전에 중앙값으로 보정

 

b) 로드

 

중앙값을 만들고 중앙값에 고정되게 코드를 수정해주면

 

이렇게 그림이 화면의 중앙으로 배치된다!!

 

d. 리소스 관리하기 

이렇게 생긴 Unit.txt 파일은

 

따로 리소스 폴더에 모아놓는게 일반적 

 

당연하게도 모든 플레이어가 리소스 파일을 각각 들고있으면 부담이 심함

👉 리소스 단위로 만들어놓으면 하나를 가지고 모두가 공유할 수 있음 

따라서 리소스를 모아놓는게 매우 유용함 

 

위에서 만든 툴로 나만의 우주선을 만들어 사용하자

 

이렇게 정성스럽게 그려준후 S

 

저장된 Unit.txt을 Player라는 이름으로 변경

 

 

리소스 매니저 공부 후 사용할 예정!

 

 

 


출처 : https://www.inflearn.com/course/%EA%B2%8C%EC%9E%84-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8-%EC%9E%85%EB%AC%B8-%EC%98%AC%EC%9D%B8%EC%9B%90-rookiss#curriculum

 

[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버 -

어디부터 시작할지 막막한 게임 프로그래밍 입문자를 위한 All-In-One 커리큘럼입니다. C++, 자료구조/알고리즘, STL, 게임 수학, Windows API, 게임 서버 입문으로 이어지는 알찬 커리큘럼으로 게임 프

www.inflearn.com