본문 바로가기
스크래치/스크래치 디펜스

스크래치로 팔라독 같은 게임 만들기- 7. 체력바 시스템

by 할거없네 2017. 11. 6.

안녕하세요. 승승이입니다.

hp를 만들어 봅시다.

새로운 스프라이트 하나 만듭니다.

스프라이트를 만들고,


hp바의 모양은 0부터 100까지 11단계로 만들었고, 크기는 10x3의 크기로 좀 작게 만들었습니다.

만드는건 그림판으로 도트 찍어 만들어서 사용하였습니다.

깃발을 누르면 원본은 숨겨주시고 초기화 할 명령어를 별도로 만듭니다.


체력바들은 번호를 부여 받아야 하는데, 그 변수를 @HP번호 로 명명하여 사용합니다.

@복제됨 변수는 복제된 개체와 원본을 구별하기 위해 사용합니다.


방송하기를 사용하면 반드시 복제된 개체들이 수행되지 않도록 @복제됨 의 변수를 따져서

원본만이 수행하도록 합니다.

@HP번호 를 증가시키면서 복제합니다.


복제가 되면 @복제됨 변수를 1로 놓고,

y좌표를 정해주는것은 hp바가 여러 개라서 겹쳐보이는 문제를 해결하기 위한 방법으로 사용했는데,

보통은 y좌표의 위치는 캐릭터 위치에서 일정하게 고정되도록 해야합니다.

hp바가 수행해야 할 명령어로는

위치, hp바상태(설정), 삭제조건

으로 구성되어 있습니다.

일단 위치로는 각 유닛의 위치로 이동시키는 것입니다.



hp설정은 각 hp에 따라 모양을 바뀌도록 합니다.

이것을 수행하기 위해서는 개체의 hp리스트를 2개씩 더 만들어야 합니다.

현재 hp와 최대 hp를 알아내기 위한 방법인데요, 어쩔 수 없이 리스트를 만들어서 사용하기로 합니다.



현재 hp@HP번호 번째 유닛의 체력으로

최대 hp@번호 번째 유닛의 최대 체력으로 놓고, 이것을 백분율로 따져서 모양을 바꿔줍니다.

(스샷은 짤림)


마지막 삭제 조건으로는 캐릭터가 사망하면 x위치를 300으로 보내버리기로 하였으므로,

해당 값이 300이면 (여기서는 적당히 250보다 크면 발동하도록 함) 복제본 삭제로 마무리합니다.


이제 다시 플레이어 유닛 스프라이트로 돌아가서 추가된 리스트에 대해서 초기화 시켜주는 명령어를 넣습니다.


그리고 복제될 때마다 추가되는 리스트로는 HP리스트와 maxHP리스트도 포함시킵니다.


마지막으로 새 명령어로 hp리스트에 현재 hp값으로 바꿔줍니다.


적에 대해서도 동일하게 작업을 수행합니다.

이때 hp스프라이트를 복제하여 사용합니다.

구별하기 위해 색깔도 바꿨습니다.





댓글