이번엔 화면에 점수를 표시하는 방법에 대해 알아봅시다.
◈화면에 점수 표시
강좌에선 점수를 score변수를 사용했지요.
여러분이 다른 변수를 사용했다면 그것을 여기에서 사용하면 됩니다.
우선 기억해두시고, 먼저 폰트 리소스에 폰트를 추가합니다.
(▲컴퓨터에 설치된 폰트를 선택할 수 있음)
다음은 화면에 표시할 오브젝트를 하나 만들고,
Draw -> Settings -> Set Font를 선택하여 폰트를 지정합니다.
(▲리소스에 폰트를 추가해야 선택가능)
Font : font20 align : left //정렬 방식 //left : 왼쪽으로 정렬 center : 가운데로 정렬 right : 오른쪽으로 정렬 |
이제 점수를 표시하는 방식을 생각해야합니다.
점수를 표시하는 방법이야 많지만 간단하게 2가지정도 알아보도록 합시다.
첫번째는 아래와 같이
(▲변수를 바로 표시하는 방식)
변수값을 바로 표시하는 방식있습니다.
variable: score x : 32 y : 32 |
두번째로는 자릿수 제한을 두어 표시하는 방식도 있습니다.
예를 들면 1230 점수가 있을 때, 최대 표시가 10자릿수이면 표시할때는 0000001230 으로 표시할 수 있지요.
(▲자릿수를 두고 변수를 표시하는 방식)
강좌에선 이 방법을 써보도록 합시다.
이것은 먼저 점수의 자릿수를 계산한뒤 앞에 0을 빈 자릿수만큼 채워 표시하는 것입니다.
일단 빈 자릿수를 채워줄 변수를 하나 만듭시다.
variables : _def value : '00000000000000000'//값은 문자열로 선언 // 따옴표('')를 사용하면 값을 문자열로 선언하게 됩니다. |
그리고 Draw -> Settings -> Set Color를 사용하여 컬러를 지정해줍니다.
(▲색을 지정함)
텍스트의 표시 기본색은 검정색이므로 다른 색으로 표시할때 변경해주어야합니다.
이제 Control -> Variables -> Draw Variable액션으로 점수를 표시합니다.
변수 값에는
string_copy(_def,1,최대값-string_length(string(점수)))
+string_copy(string(점수),max(1,string_length(string(점수))+1-최대값),최대값)
'[앞에 빈 자릿수 만큼 0을 붙임] + [점수]' 형태의 식으로 값을 처리합니다.
최대값에는 최대 자릿수값을 넣으면 됩니다.
variable: string_copy(_def,1,10-string_length(string(score))) +string_copy(string(score),max(1,string_length(string(score))+1-10),10) x : 32 y : 32 //최대 자릿수는 10 |
하지만 점수(숫자)가 9자리까지는 제대로 표시되지만, 10자리부터는 제대로 표시가 안되기 때문에,
variable: |
이렇게 하셔도 됩니다.
만약 앞에 0을 붙이지 않은 점수(숫자)만 간단하게 표시하고 싶다면
variable: |
(▲위와 같이 표시가 됨)
여기까지 하시면 위의 그림처럼 표시됩니다.
◈화면에 플레이어의 HP 표시
강좌에선 global.hp의 변수에 플레이어의 체력을 저장했지요.
그것을 HP바 형태로 표시해봅시다.
(▲HP 표시 예)
Draw -> Drawing -> Vertical Gradient 액션을 사용합니다.
(▲그라디언트 형태)
HP는 '(체력*표시할 크기)/최대체력'으로 계산합니다.
따라서
x1 : 32 y1 : 450 x2 : 32+((min(global.hp,5)*96)/5)//체력을 5까지만 표시하도록 설정하기 위해 min(최소값)을 사용. y2 : 465 color1 : 녹색 color2 : 노란색 |
이렇게 하면 좌측하단에 체력을 표시하게 됩니다.
외곽선을 더 추가한다면 차감내용을 알아보기 쉽겠지요.
일단 Draw -> Settings -> Set Color를 사용하여 컬러를 지정해줍니다.
그리고 Draw -> Drawing -> Rectangle을 사용하여 외곽선을 표시해줍니다.
(▲검정색 사각형을 표시하게 됨)
Rectangle액션은 안을 채워 표시할 수도 있고, 선만 표시할 수도 있습니다.
여기선 선만 표시하도록 합시다.
x1 : 32 y1 : 450 x2 : 32+96 y2 : 465 filled : outline //선만 표시 |
(▲위와 같이 표시가 됨)
여기까지 하시면 위의 그림과 같이 녹색과 노란색이 섞인 사각형과 검정색 외곽선을 가진 사각형 모양의
체력바가 표시될 것입니다.
-------응용예제------
'GameMaker강좌[GM8] > 슈팅게임강좌' 카테고리의 다른 글
[게임메이커강좌-슈팅]슈팅게임 만들기-9-하이스코어 등록 (16) | 2013.04.11 |
---|---|
[게임메이커강좌-슈팅]슈팅게임 만들기-8-사운드 및 BGM의 삽입 (6) | 2013.04.11 |
[게임메이커강좌-슈팅]슈팅게임 만들기-6-패스와 타임라인 (16) | 2013.03.06 |
[게임메이커강좌-슈팅]슈팅게임 만들기-5-충돌이벤트 구성 (3) | 2013.02.20 |
[게임메이커강좌-슈팅]슈팅게임 만들기-4-적 기체 만들기 (11) | 2013.02.13 |
댓글