본문 바로가기
SDL/리듬게임(C, C++)

프로젝트 리소스 구조 및 클래스 설명

by 개발펭귄 2023. 4. 11.

학생분들로부터 리소스 관련 문의 메일이 많이 와서 이 기회에 추가 포스팅합니다.

 

죄송하게도 제가 저작권 관련 때문에 깃헙에는 리소스를 업로드 하지 않았을 뿐더러 리소스 구조나 어디서 어떻게 사용되고 있는지 포스팅한 적이 없었네요.

 

간단하게 포스팅 해봅니다.

 

* 제일 밑에 csv 파일+저작권 문제가 없는 제가 직접 그림판으로 끄적인 리소스만 첨부해놓았습니다.

* BMS파일은 일본bms관련 사이트나 http://k-bms.com/ 를 참고.

 


[상대 경로 관련]

코드를 보면 아시겠지만 경로 대부분이 "../../Resource ~"로 상위 폴더로 두번 올라가는데 이건 제가 프로젝트를 버전별로 테스트할 때, 리소스를 중복으로 복사하기 싫어서 이렇게 했던 기억이 있습니다.

 

상대경로 하나를 지워 "../Resource"로 고치시고 프로젝트 안에다가 넣으시던가 원하시는 경로로 수정하고 리소스 관련 폴더를 만들어 관리하시면 될 것 같습니다.

 


 

트랙, 스프라이트 부분만 설명하겠습니다. 나머지도 이해되실 겁니다.

 

[트랙 관련 csv]

Track.cpp를 보면 trackSetting4K.csv를 통해 설정 세팅을 하고 있습니다.

 

csv 구조

type,desc
TrackEffect,trackEffect.csv
Explosion,judgeeffectData.csv

 

TrackEffect => 트랙 이펙트 csv, 

Explosion=> 판정 이펙트 csv

파일명을 파싱해서 Sprite 클래스 생성자에 전달하고 있습니다.

 

 

[스프라이트 관련 csv]

Spirte.cpp를 보면 생성자를 통해 사용될 이미지(스프라이트)의 정보가 있는 csv 파일을 전달합니다.

 

csv 구조

textureName,scaleWidth,scaleHeight
TrackEffect.png,1.0,1.0

 

사용할 텍스쳐 파일이름, 가로 스케일, 세로 스케일의 정보가 있습니다.

 

여기서 파싱한 텍스쳐 파일이름을 Texture 클래스에 전달해 비로소 이미지를 불러오게 됩니다.

 


[폴더 구조 스샷]

Resource 폴더
Font 폴더
image폴더
music폴더. bms파일과 mp3파일을 같이 두었습니다.

 

리소스 첨부

Resource.zip
0.14MB

배포는 하지 말아주세요.

 

궁금한 점은 댓글이나 메일로 알려주세요! 메일이 아마 제일 빠를 거에요..

'SDL > 리듬게임(C, C++)' 카테고리의 다른 글

리듬게임 영상 참고용  (0) 2020.12.14
02. 리듬게임 BPM  (0) 2018.01.22
포스팅 예정  (1) 2018.01.14
01. 현재 진행 상황  (0) 2018.01.07
00. 리듬게임 Github  (2) 2018.01.07