본문 바로가기
게임메이커(GMS2) 강좌/슈팅(종스크롤)

GMS2 강좌(슈팅) 10. 스테이지보스를 만들자

by RainbowStudio 2019. 2. 24.
반응형


오늘은 스테이지 보스를 만들겠습니다


슈팅게임에서 보스는 큰몸체, 일반적인적기체보다 강력한 공격패턴, 강한체력, 부위파괴, 점점약해지다가 끝에는 강력한 공격을 하다가 죽음을 맞이하는 그런 운명을 가진 존재죠


그래서 위에 설명한 내용을 따라서 만들겠습니다



먼저 보스로 사용할 스프라이트가 마땅히 없어서 적기체 스프라이트를 3등분해서 나눴습니다


오른쪽팔-몸체-왼쪽팔 로 구분지어서 부위를 나눠줄거라 이렇게 자른거고 그대로 다운받아서 사용하시면 됩니다




다음으로 보스 스프라이트를 새로 추가합니다




당연히 보스 오브젝트도 생성해주고 스프라이트를 지정해줍니다





다음으로 path를 아래에 새로 2개를 생성해줍니다

boss_path_appear 는 보스가 등장할때 움직일 path고

boss_path_1 은 보스가 지속적으로 움직일 path 입니다


적기체생성 강좌에서 path 설정에 대한 내용이 있기때문에 찍은 후 이미지만 올리겠습니다 

저는 뒤쪽 위에서 약간 왼쪽 방향으로 등장하면서 내려오고 전투중엔 계속 원형으로 돌게 해주겠습니다





이제 boss_1_obj 부터 하나씩 만들어 보겠습니다

내용이 길지만 그동안 진행했던 강좌들의 내용의 응용적인 부분이라 새로운 부분만 설명하겠습니다





먼저 Create 이벤트 내용이고 보스는 스프라이트이미지의 3배크기로 생성하고 보스상태는 보스의 상태에 따라 다르게 행동하게 해주기 위한 변수입니다


공격패턴이 새로 추가됐는데 공격패턴 1 은 양팔에서 일반적인 레이저공격이 나가고 패턴2는

attack_2_number 에서 지정된 횟수만큼 연속으로 다량의 레이저를 발사하게 해주겠습니다





다음은 destroy 이벤트 내용이고 이부분은 몸체가 파괴됐을때 스프라이트 크기만큼 넓은 범위로 파괴이펙트가 만들어지게 해주는 부분입니다




boss_1_obj_step이벤트.txt


내용이 길지만 사실 주석에도 써있듯이 각 상태에 따라 나눠져 있기때문에 복잡해 보이지만


첫등장 - 양팔펴짐 - 전투  이렇게 3부분으로 크게 나눠져 있고 각 부분은 서로 간섭하지않습니다


공격1 부분은 양팔이 있으면 양팔에서 레이저를 하나씩 발사하고 한팔이라도 파괴됐으면 남아있는 팔에서만 레이저를 발사합니다


공격2 는 팔의 유무랑 상관없이 몸체에서 광범위로 레이저를 발사합니다





다음은 draw 이벤트 내용이고 이부분은 플래시가 되거나 그냥 그려주는 내용입니다





마지막으로 collision - player_attack_obj 이벤트의 내용이고 이 부분에선 몸체가 파괴되는것과 오른쪽이나 왼쪽 팔중 남아있던 팔도 몸체와 같이 파괴되는 내용이 들어있습니다

이렇게 boss_1_obj 내용은 마무리가 되겠습니다





이제 다음으로 넘어가서 boss_1_left_arm_objboss_1_right_arm_obj의 내용을 만들겠습니다 이 두 팔은 이동하는 내용과 공격받았을때 파괴되는 내용 밖에 없습니다 내용도 딱 한가지만 빼고 동일합니다

딱한가지를 언급하기전까진 모두 동일하게 소스를 작성해줍니다




먼저 Create 이벤트 내용이고 오른팔 왼팔 둘다 동일한 내용을 넣어줍니다

appear_arm_move 값이 2 일땐 몸체에 바짝붙어있고 값이 줄어들수록 몸체에서 멀어지면서 펴지는 모습을 보여주겠습니다




destroy 이벤트 내용은 몸체와 마찬가지로 파괴되면 이펙트가 나오게 해줍니다 





Step 이벤트 내용중 이미지에 보이는 부분 딱하나 x 좌표의 - 와 + 를 설명에 나온대로 바꿔주기만 하면 됩니다

오른팔과 왼팔의 x 좌표가 서로 다르기 때문에 이렇게 바꿔줄 필요가 있습니다


이 이벤트에선 x,y 좌표가 계속 몸체를 따라다니되 등장씬에서 양팔이 펴지는 부분만 더 추가되어있습니다




draw 이벤트는 플래시되는 부분담당합니다






끝으로 collsion - player_attack_obj 이벤트는 데미지를 받으면 hp가 감소하고 플래시가 작동하는 내용입니다


여기까지 몸체, 양팔 작업은 끝났고 이제 보스를 언제 소환해줄지 설정해주면 되겠습니다





enermy_control_obj (적기체생성 컨트롤 오브젝트) 에서 일정시간이 지나면 보스를 생성해주게 설정하겠습니다 Alarm0 를 새로 추가하고 Create 이벤트에 보스 등장 변수들을 추가합니다





다음은 alarm0 의 내용이고 호출되면 보스의 몸체를 생성해줍니다 몸체오브젝트에 팔을 생성하는 부분이 있기때문에 몸체만 생성해주면 됩니다




이렇게 보스의 등장까지 내용을 넣고 실행하면...





이렇게 첫등장할때 움직임 양팔의 펴짐, 2가지의 공격패턴, 부위파괴까지 전부 구현된 위협적인 보스가 만들어진걸 볼수있습니다



네 오늘은 여기까지고요 다음에 봐요 :)



반응형

댓글