본문 바로가기
게임메이커(GMS2) 강좌/슈팅(탑다운)

GMS2 강좌(탑다운) 7. 유도레이저 공격을 만들자

by RainbowStudio 2019. 3. 3.
반응형


저번시간까지 진행했다면 플레이어 기체의 공격이 직선 레이저공격밖에 없기때문에 게임의 난이도가 생각보다 높다고 느껴질수가 있어서 플레이어 기체 뒤쪽방향으로 발사하는 유도 레이저 공격을 새로 만들어주겠습니다


유도레이저는 발사후 타겟을 선정해서 그 타겟을 향해 날아가게 되고 타겟이 사라지면 가던길?을 계속 가는걸로 구현을 하겠습니다


이번강좌에서는 지금까지 작성했던 코드들을 적절히 조합해서 만들어주겠습니다





먼저 유도레이저로 사용할 스프라이트와 스크립트 2개, 오브젝트 1개를 새로 생성해줍니다

스프라이트 originmiddle centre 를 선택해서 중앙으로 맞춰줍니다





player_obj 의 create 이벤트에 붉은 박스의 내용을 새로 추가해줍니다 유도레이저인 만큼 시간을 늘려줍니다





player_obj 의 step 이벤트에 박스 내용을 추가해줍니다 유도레이저를 발사하게 해줄 스크립트입니다





다음은 새로 생성한 player_attack_2_obj 의 create 내용이고 적기체 오브젝트에서 내용을 복사해서 가져옵니다


타겟설정부분은 적기체가 1기 이상 존재하면 가장 가까운(instance_nearest) 적기체를 타겟으로 설정해주는 부분입니다




다음은 player_attack_2_obj 의 step 이벤트 내용이고 적타겟이 설정되면 타겟을 향해 이동하는 스크립트를 호출하는 부분입니다





player_attack_2_obj alarm 0 은 오브젝트를 제거해주는 내용을 넣습니다 유도레이저도 시간이 경과되면 사라지게 됩니다





다음은 생성했던 player_attack_2_scr 의 내용이고 x 를 누르면 유도레이저를 생성해주는 부분이고 각도를 +180 해줘서 플레이어 기체 뒤쪽으로 발사되게 해줍니다


player_attack_1_scr 내용을 복사해서 수정하시면 됩니다





다음은 player_attack_2_move_scr 내용이고 이 내용은 적기체의 움직임을 담당했던 enermy_1_movement_scr 내용을 복사해서 수정해주시면 됩니다


타겟방향으로 회전하면서 움직이게 해주는 스크립트입니다






마지막으로 enermy_1_obj 에 collision - player_attack_2_obj 이벤트를 만들어서 내용을 작성해줍니다

collision - player_attack_1_obj 내용을 복사하시면 됩니다





이렇게 작성후 실행해보면 .....





 

이렇게 적기체를 추적해서 공격하는 유도레이저덕분에 한층 쉬워진 게임이 만들어진걸 확인할수있습니다





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



반응형

댓글