Juwan Park :: RPG 2000/2003으로 간단한 액알 만들기 강좌 -3-

RPG 2000/2003으로 간단한 액알 만들기 강좌 -3-

◆게임 창작 관련/게임 창작 강좌 :: 2016. 1. 2. 13:51

RPG 2000/2003으로 간단한 액알 만들기 강좌 2편([바로가기])에 이은 3편입니다.

3편에서는 체력 게이지 만드는 방법을 익혀 보도록 하겠습니다.


이 스크린샷은 '조선에 열린 마계의 문'이라는 게임의 스크린샷입니다. RPG 2003으로 만들어진 액알인데요. 잘 보면 왼쪽 위에 게이지가 있습니다.

이와 같이 체력 게이지를 만드는 것은 사용자를 위한 액알 제작자의 배려입니다. 만약 체력 게이지가 없다면 전투를 하는 도중에도 메뉴를 호출해 남은 체력을 확인해야 하는 번거로움을 안게 될 것입니다. 즉, 체력 게이지를 만드는 것은 굳이 메뉴를 열지 않고도 체력이 어느정도 남아있는가를 보여줌으로써 번거로움을 덜어주기 위한 것입니다.


자, 먼저 체력 게이지를 표시할 이미지가 필요합니다.

여기서는 위와 같이 두 개의 이미지를 사용해 보도록 하겠습니다. 위의 것은 체력 게이지 틀 이미지이며, 아래의 것은 체력 게이지의 막대 이미지입니다.
※RPG 2000/2003에서 쓰일 이미지는 8비트 컬러(256색)로 저장하셔야 합니다.
(체력 게이지 틀: 96×12 / 체력 게이지 막대: 80×8)

이 이미지 파일들을 소재관리를 이용해서 추가합니다.

처음에는 이와 같이 Picture 폴더가 텅 비어 있거나 경우에 따라 Cloud RTP만 있습니다. 가져오기 버튼을 통해 준비된 두 게이지 이미지를 가져옵시다.

여기서 중요한 건 투명 처리입니다. 게이지의 투명색을 이용해 막대를 그릴 방식으로 구현하므로 가운데 막대가 들어갈 부분을 투명처리합니다. 확대해서 투명처리할 부분을 클릭하면 그 부분이 깜빡일 것입니다. 그러면 OK를 눌러줍니다. 틀이 아닌 막대에도 같은 창이 뜨지만 그냥 OK만 눌러주시면 됩니다.

두 이미지를 다 불러왔으면 이렇게 됩니다.

이렇게 게이지를 담당할 두 이미지 파일이 목록에 있다면 닫기 버튼을 누릅니다.

이제 맵 디자인 단계로 넘어갑니다.

여기서는 맨 위의 한 줄을 통행불가지역으로 했습니다. 필수적인 것은 아니지만 단지 캐릭터가 맵의 맨 위까지 가서 게이지에 가려지는 것을 막기 위한 처리입니다.

맵에서 구석의 적당한 곳에 게이지용 이벤트를 하나 만들어 줍시다.

1페이지는 자동실행으로 놓고 이와 같이 만듭니다.

중요한 것은 '그림의 표시'인데요. 먼저 게이지 틀을 보겠습니다.

설정은 이와 같습니다.

그림 번호는 말 그대로 그림의 번호입니다. 이 예제에서는 12로 했지만 실제로는 그냥 적당한 번호를 쓰시면 됩니다. 번호의 숫자가 클수록 위에 표시되는데 이 예제에서는 게이지 틀의 투명을 이용해 게이지를 표시하는 방식을 사용할 것이므로 적어도 게이지 막대보다는 숫자가 큰 번호를 넣어 주셔야 합니다.

중요한 것 또 하나! 표시 위치입니다. 왼쪽 위 끝에 표시할 것이므로 X는 0, Y는 0으로 하면 될 것 같지만 그렇지 않습니다. 왜냐하면 여기서 X와 Y의 기준이 중심 좌표이기 때문입니다. 즉, 그림의 한가운데를 어느 좌표에 표시할 것인지를 지정하는 것이기 때문에 X와 Y를 0으로 하면 왼쪽 위에 딱 붙지 않고 가로세로로 반씩 잘려서 표시됩니다.
(※좌표를 중심이 아닌 왼쪽 위를 기준으로 지정하는 방식은 RPG 만들기 XP 이후에 추가된 기능입니다.)

이 식은 그림 표시 좌표 공식입니다. 만약 폭인 160픽셀인 그림을 왼쪽 끝에서 40픽셀 떨어진 위치에 표시하고 싶다면 그림의 폭에서 2를 나눈 값인 80에 40을 더해서 120으로 정하면 됩니다. Y좌표도 같은 방식입니다.
(※폭이나 높이가 홀수일 경우 2를 나눈 값에서 소수점을 버립니다.)

그러면, 이 예제에 나온 게이지 틀을 왼쪽 위에 붙이려면 좌표를 어떻게 지정해야 할까요? 폭이 96, 높이가 12이므로 이를 반으로 나눈 값인 X 48, Y 6으로 지정합니다.

그리고 또 투명색을 '있음'으로 지정해야 한다는 것 아시죠?

다음으로, 게이지 막대를 넣을 커맨드입니다.

설정은 이와 같습니다.

그림 번호는 게이지 틀보다 숫자가 작은 번호로 써야 한다는 건 이미 설명했고, 문제는 그림 좌표입니다.

RPG 만들기에는 변수에 따라 확대율을 지정하는 기능이 없기 때문에 그림의 위치를 옮기는 방식으로 게이지가 늘었다 줄었다 하는 것처럼 보이게 할 수밖에 없습니다. 먼저, 게이지 막대의 폭이 80이고 높이가 8이므로 X는 40, Y는 4입니다. 그런데 게이지 틀에 정해진 게이지 영역이 왼쪽 끝에서 12픽셀, 위쪽 끝에서 2픽셀만큼 떨어져 있으므로 이 값을 더해서 X를 52로 하고 Y를 6으로 하면 게이지가 꽉 채워진 것으로 표시됩니다. 게이지가 비어 있을 때는 X좌표가 52에서 폭인 80을 뺀 값인 -28이 됩니다. 이 예제에서처럼 빈 게이지 상태로 세팅하면 만들어질 때 비어있다가 차오르는 방식으로 나옵니다.

게이지 막대는 투명색이 없는 모양이므로 정반대로 투명색을 '없음'으로 하셔야 합니다. 물론 막대가 직사각형이 아닌 사다리꼴이나 평행사변형으로 되어서 투명색이 필요할 경우에는 '있음'으로 해야 하겠지요.

다음으로 막대의 Y값을 담당할 변수로 6을 대입해 놓습니다. 표시 위치를 한 쪽만 고정값으로 다른 한 쪽은 변수로 지정하는 것은 불가능하고 둘 다 고정값으로 하거나 둘 다 변수로 할 수밖에 없으므로 이렇게 처리하는 것입니다.

마지막으로 게이지 표시 스위치를 ON으로 설정하는 커맨드를 추가하고, 페이지 하나를 더 만듭니다.

두 번째 페이지는 이와 같이 게이지 표시 스위치가 ON일 때만 발동하도록 하고, '자동실행'이 아닌 '병렬처리'로 합니다. 무한루프이므로 자동실행으로 하면 주인공이 움직일 수 없게 되기 때문입니다.

먼저 게이지 막대의 최대 길이가 80이므로 체력바 X에 먼저 80을 대입한 후 주인공(여기서는 아렉스)의 체력만큼 곱합니다. 그리고 그 즉시 주인공의 최대 체력만큼 나눕니다. 이렇게 하면 주인공의 체력이 꽉 찼을 경우 체력바 X 변수의 값은 80, 절반이 됐을 경우 40, 체력이 고갈됐을 경우 0이 됩니다. 하지만 추가로 X좌표 보정이 필요한데, 앞에서 게이지가 0이면 X좌표가 -28이 되어야 한다고 했으므로 28만큼 빼 줍니다.

이렇게 해서 최종적으로 도출된 변수 값을 그림의 이동 커맨드에서 좌표로 지정합니다. 앞에서 게이지 막대의 그림 번호를 11번으로 지정했으므로 여기서도 그림 번호를 11로 합니다. X에는 앞의 과정을 통해 도출된 X축 값을 넣고, Y에는 미리 대입시켜 놓은 Y축 값을 넣습니다. 그리고 이동에 걸리는 시간은 이와 같이 0.1초로 지정합니다.

NPC를 하나 배치합시다. 필수적인 것은 아니지만 체력의 증감에 따른 게이지의 변화를 확인하기 위해 넣는 것입니다.

그리고 게임을 실행해 보면,

이와 같이 게이지가 있는 것을 보실 수 있습니다. 스크린샷에서는 게이지의 변화를 확인할 수 없으므로 동영상으로 첨부합니다.


이 동영상을 통해 게이지의 변화를 보세요.


여기서 RPG 2000/2003으로 간단한 액알 만들기 강좌 3편을 마칩니다.

4편에서는 게임오버 방지 처리와 몬스터 공격시 후퇴 처리를 구현해보도록 하겠습니다.

Today    Yday    Tot
Juwan Park
Juwan Park's blog is powered by Daum and .
Contemporary Blue for .
Designed by Juwan Park. Creative Commons License
▲ TOP