본문 바로가기
Programming/Godot

고도엔진 2D 슈팅게임 - 9 HUD & Menu

by Wilkyway 2022. 1. 8.
반응형

- ship.gd스크립트 수정

- armor_changed 시그널 추가

- set_armor함수에 emit_signal 추가

- Canvas2D노드 추가 후 hud로 이름 변경

- 하위에 sprite노드 추가 후 spr_armor로 이름 변경

- Sprite Texture에 armor.png파일 지정

- Centered는 해제하고,

- 총 수평방향으로 5개의 프레임이 존재(Hframes:5) 인식

- 현재 프레임은 4번째 프레임을(Frame: 4)인식시켜준다.

- spr_armor노드에 스크립트 추가 (Built-In-Script형태로 추가해준다.)

<Score시스템>

- TextureFrame TextureRect노드를 추가 후 tex_score로 이름 변경

- Texture에 score.png 파일 추가

- 노드 사이즈를 적절히 조정 후 Pos (123, 10) 으로 위치 지정

- tex_score하위에 label노드 추가하여 이름을 label로 변경

- Text: 0, Align: Right, Pos:(3,1), Size:(41,14) 지정

- 다이나믹 폰트 지정

- tex_score에 built-in-sciprt 추가

- Name: tex_score 지정

-  새로운 값이 들어오면 텍스트를 새 값으로 변경해줌

- 새 값을 전달해주는 함수는 enemy.gd에서 수정

 

<main메뉴 만들기>

- 빈 Node를 추가하여 이름을 main으로 바꾸고

- stage_menu.tscn으로 저장

- CanvasLayer2D노드 추가 후 hud로 이름 변경

- TextureButton 노드 추가 후 btn_start로 이름 변경

- Texture에서 각 경우에 맞게 텍스쳐 이미지 지정

    Normal: button_normal.png

    Pressed: button_pressed.png

    Hover: button_hover.png

- 위치 조정 (67, 134)

- 하위에 라벨 노드를 추가하고, Text: Start, Align:Center 지정

- 노드 사이즈를 이미지에 맞게 조정

- 폰트를 HUD의 다이나믹 폰트에서 복사/붙여넣기 한다.

<Quit버튼 만들기>

- btn_start를 복제하여 만들기

- 위치를 67,155로 변경

- Text: QUIT 로 변경하고 위치 미세조정

- btn_start에서 스크립트 추가(Attach Script)

- 이름을 btn_start로 지정 후 스크립트 생성

- btn_quit노드에도 built-in-script추가

- Name: btn_quit 지정

- btn_start의 스크립트를 복사 후, _on_pressed()함수에서 작동하는 부분만 수정

- Project Settings에서 시작씬으로 stage_menu.tscn을 지정

< 죽었을 때 메뉴버튼 나타내기>

- stage_game.tscn > hud노드에 Merge from Scene

- stage_menu.tscn > btn_start 버튼을 가져온다.

- 버튼 이름을 btn_menu로 변경하고,

- label노드의 Text: MENU로 변경한 뒤 노드 사이즈를 미세조정한다.

- 시작시에 이 버튼은 나타나지 않도록 숨겨줌

- 스크립트는 고유하게 변경해줌

- 스크립트 편집

시그널 " exit_tree" -> " tree_exited" 로 변경

 

반응형

댓글