프로그래밍 강의/게임메이커 스튜디오

GMS, 인스턴스의 체력 바를 그려보자

wnsrn3436 2013. 11. 21. 13:03

 

RPG, RTS, AOS 등 게임의 장르를 가리지 않고 게임에 흔하게 나타나는 것이 바로 체력 바(Healthbar, Gaugebar)입니다.

대부분의 초보 분들은 체력 바를 만들지 못해서 변수를 숫자로만 드로윙하는 경우가 많습니다.

하지만 체력 바는 게임메이커: 스튜디오(GameMaker: Studio)에서 기본적으로 지원하는 기능이므로, 여러분들은 별다른 계산 없이 체력 바를 만들 수가 있습니다.

 

 

체력 바와 디자인을 비교하기 위해 HP를 숫자로 표현해보았습니다.

아무리 봐도 보기가 불편하지요?

이제 겜스가 지원하는 예쁜 체력 바를 넣어봅시다.

 

 

체력 바는 draw_healthbar 라는 함수를 통해 구현하실 수가 있습니다.

겜스 도움말을 보시면 아시겠지만, 이 함수의 인자들은

 

 

요런 구성으로 되어있는데요, 여기서 amount라는 인자에 실질적인 체력 변수를 넣는 겁니다.

하지만 amount는 0~100의 숫자까지밖에 지원하지 않으므로 아래와 같은 계산을 따로 처리해야 합니다.

"(현재 체력 변수 / 최대 체력 변수) * 100" 이렇게 계산을 하면, 100의 비율로 체력을 나눌 수가 있습니다.

 

더하여, 위 코드에서 bbox_ 류의 변수들은 인스턴스의 좌표에서 충돌박스의 특정한 영역(가령 최상단이라든지)의 더한 값을 나타냅니다.

 

 

자. 이제 실행해보면, 예쁜 체력 바가 그려진 것을 보실 수가 있을 것입니다.

 

Healthbar.gmz

 

http://cafe.naver.com/playgm

Comments