<ship.gd> 수정
- 스크립트에 체력(armor) 변수를 설정
- "ship"그룹에 추가
- 체력이 0 이하로 가면 삭제되는 set_armor함수 추가
<enemy.gd> 수정
- 스크립트에 체력(armor) 변수를 설정
- "enemy"그룹에 추가
- 체력이 0 이하로 가면 삭제되는 set_armor함수 추가
- enemy_kamikaze.tscn의 Armor값은 2로 설정
- enemy_clever.tscn의 Armor값은 6으로 설정
<laser 수정>
- laser_ship.tscn을 불러와서 기존의 laser.gd스크립트를 제거
- 새로운 스크립트 laser_ship.gd 생성
- 속도를 -350으로 설정
<laser_ship.gd>
- "area_enter"이벤트 발생 시 "_on_area_enter"함수와 연결
- 접촉한 외부물체가 "enemy"이면 Armor를 -1 차감
- 플레어 생성
- 레이저 자체는 삭제됨(queue_free())
- 아직 enemy가 죽지 않음. laser_ship.tscn의 상위인 laser.tscn의 shape에 아무것도 지정되지 않음
- laser.tscn > shape에 RectangleShape2D 설정
<laser_enemy.gd>
- laser_enemy.tscn에서 기존의 스크립트 laser.gd 제거
- 새로운 스크립트 laser_enemy.gd 생성
- 기존의 laser_ship.gd의 내용을 복사해옴
- 충돌 감지 대상만 "enemy" -> "ship"으로 변경
- laser_enemy의 속도는 150으로 재설정
- 마지막으로 enemy.tscn에서
- enemy와 충돌했을 때에 ship의 armor를 -1 차감하고
- 충돌한 enemy는 사라지는 함수(_on_area_enter) 구현
'Programming > Godot' 카테고리의 다른 글
고도엔진 2D 슈팅게임 - 8 카메라 진동 (0) | 2022.01.08 |
---|---|
고도엔진 2D 슈팅게임 - 7 폭발 애니메이션 (0) | 2022.01.07 |
고도엔진 2D 슈팅게임 - 5 Enemy생성2 (0) | 2022.01.06 |
고도엔진 2D 슈팅게임 - 4 Laser발사 (0) | 2022.01.04 |
고도엔진 2D 슈팅게임 - 3 Enemy생성1 (0) | 2022.01.04 |