저번시간까지 진행했다면 플레이어 기체의 공격이 직선 레이저공격밖에 없기때문에 게임의 난이도가 생각보다 높다고 느껴질수가 있어서 플레이어 기체 뒤쪽방향으로 발사하는 유도 레이저 공격을 새로 만들어주겠습니다
유도레이저는 발사후 타겟을 선정해서 그 타겟을 향해 날아가게 되고 타겟이 사라지면 가던길?을 계속 가는걸로 구현을 하겠습니다
이번강좌에서는 지금까지 작성했던 코드들을 적절히 조합해서 만들어주겠습니다
먼저 유도레이저로 사용할 스프라이트와 스크립트 2개, 오브젝트 1개를 새로 생성해줍니다
스프라이트 origin 은 middle 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 내용을 복사하시면 됩니다
이렇게 작성후 실행해보면 .....
이렇게 적기체를 추적해서 공격하는 유도레이저덕분에 한층 쉬워진 게임이 만들어진걸 확인할수있습니다
네 오늘은 여기까지고요 다음에 봐요 :)
'게임메이커(GMS2) 강좌 > 슈팅(탑다운)' 카테고리의 다른 글
GMS2 강좌(탑다운) 6. 미니레이더를 만들어보자 (0) | 2019.03.02 |
---|---|
GMS2 강좌(탑다운) 5. 화면에 전투현황, 점수표시 (0) | 2019.03.01 |
GMS2 강좌(탑다운) 4. 적기체생성과 전투 (0) | 2019.02.28 |
GMS2 강좌(탑다운) 3. 플레이어 기체의 공격 (0) | 2019.02.27 |
GMS2 강좌(탑다운) 2. 플레이어 기체의 이동 (0) | 2019.02.26 |
댓글