ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Godot 16
    게임 개발 2025. 9. 7. 15:50

     

    • 테마만 적용: 특정 옷장(테마)을 선택하고, 그 안에 있는 기본 옷(기본 스타일)을 입는 것과 같습니다.
    • 타입 바리에이션만 적용: 옷장 선택 없이 '파란색 옷'이라는 이름의 옷을 달라고 하는 것입니다. 이 경우, 기본 옷장(프로젝트 기본 테마)에서 파란색 옷을 찾아 입게 됩니다.
    • 둘 다 적용: '파티용 옷장'을 선택하고, 그 안에서 '빨간 드레스'라는 특정 옷(바리에이션)을 골라 입는 것입니다. 가장 정확하고 의도한 스타일을 적용할 수 있습니다.

     

     

    여기서는 테마 없이 그냥 바로 옷입힌 것

    이 옷은 theme.tres에 저장되어 있는 옷 중 하나

     

    테마는 무엇인가요?: Godot의 UI 노드(Label, Button, Panel 등)에 적용되는 시각적 속성(폰트, 색상, 크기, 스타일 등)을 하나의 파일로 묶어놓은 리소스입니다. 게임 내 모든 UI 요소의 디자인을 일관성 있게 만들고, 손쉽게 변경할 수 있게 해줍니다.

     

     

    기본적으로 ui, 글꼴, label 이런건 다 Godot 기본 테마를 따라가고 있는데,  테마를 넣어주면  그 테마의 설정들을 따라가게된다.

    예를 들어 그 테마에 label이 들어있으면 그 label을 따라가게 되고, 없으면 그냥 고도 기본 테마를 따라가는데, 특별한 label은 기본 노드 유형으로 블루프린트라벨 같이 추가로 테마에 넣어놓은 label을 바리에이션을 적용하면 되는 것!

     


     

    main.gd스크립트의 일부

    func _unhandled_input(event: InputEvent) -> void:

    • Godot의 입력 처리 함수 중 하나.
    • 다른 노드들(InputEvent 처리한 노드들)에서 처리되지 않은 입력만 여기로 전달

     

     

    if event.is_action_pressed("pause"):

    • "pause"라는 Input Action이 눌렸는지를 검사
    • 💡 이 "pause"는 Input Map에 정의된 이름이야. 예: ESC, P이 매핑되어 있음

     

    add_child(pause_menu_scene.instantiate())

    • 미리 로드한 Pause Menu 씬을 인스턴스화해서 현재 노드에 자식으로 추가

     

    get_tree().root.set_input_as_handled()

    • 현재 입력 이벤트(예: ESC 누름)를 여기서 처리 완료했다! 라고 Godot에게 알려줌.
    • 그러면 이 이벤트는 다른 _unhandled_input()으로 더 이상 전파되지 않음.

    $AnimationPlayer.play_backwards("default")

    이렇게 하면 애니메이션을 역재생할 수 있다.

     

     

     

    panel_container.pivot_offset = panel_container.size / 2 

     

    이거로 피벗 오프셋을 중앙에 두어서 중앙에서 등장해서 중앙으로 사라지도록 만들 수 있다.

     

     


    오늘 만든 pause_menu.gd이다.


     

    '게임 개발' 카테고리의 다른 글

    Godot 18  (0) 2025.09.11
    Godot 17  (0) 2025.09.09
    Git 사용법  (0) 2025.09.06
    Godot 15  (0) 2025.09.06
    Godot 14  (0) 2025.09.04
Designed by Tistory.