はじめに
「セーブが完了しました」「接続できませんでした」——プレイヤーに一方的にメッセージを伝えて「OK」で閉じるだけのシンプルなダイアログが必要なとき、AcceptDialog が最適です。数行のコードで用意できます。
この記事では、AcceptDialog の仕組みと使いどころ、カスタマイズ方法を紹介します。
AcceptDialogとは?
AcceptDialog は メッセージテキストと「OK」ボタンだけを持つ、最もシンプルなダイアログノードです。ボタンを押すと自動でダイアログが閉じます。Window を継承しているため、タイトルバー・モーダル動作・中央表示が標準で備わっています。
スマホアプリでよく見る「通知が届きました [OK]」のアラートをイメージしてください。AcceptDialog はその「読んでOKを押すだけ」のダイアログをGodotで手軽に実装するノードです。
継承ツリーは AcceptDialog → Window → Viewport → Node です。ConfirmationDialog・FileDialog の親クラスでもあり、ダイアログ系ノードの基盤となっています。

このノードを使うべき場面
- セーブ完了・エラー通知:「セーブしました」「通信エラーが発生しました」などの1方向メッセージ
- チュートリアル説明:操作方法をプレイヤーに1ステップずつ伝えるとき
- 実績・アンロック通知:「新しいステージが解放されました!」などのお知らせ
- バリデーションエラー:入力値が不正なときに「文字数が足りません」と伝えるとき
別のノードが適切な場面:
- 「はい・いいえ」の確認が必要 →
ConfirmationDialog(039)を使う - 複雑なフォームやカスタムUIを持つダイアログ →
Window(037)で自作する
主なプロパティと機能
| プロパティ / メソッド | 型 | 役割 |
|---|---|---|
dialog_text |
String | ダイアログに表示するメッセージテキスト |
title |
String | タイトルバーのテキスト(デフォルト: “Alert!”) |
ok_button_text |
String | OKボタンのラベル(デフォルト: “OK”) |
popup_centered() |
void | 画面中央にダイアログを表示する |
add_button(text, right, action) |
Button | OKボタン以外のカスタムボタンを追加する |
confirmed(シグナル) |
Signal | OKボタンが押されたときに発火する |
コード例:セーブ完了を通知するダイアログ
@onready var dialog: AcceptDialog = $AcceptDialog
func save_game() -> void:
# セーブ処理...
dialog.title = "セーブ完了"
dialog.dialog_text = "ゲームデータをセーブしました。"
dialog.ok_button_text = "とじる"
dialog.popup_centered()
# OKボタンが押されたときの処理が必要な場合
func _ready() -> void:
dialog.confirmed.connect(_on_dialog_ok)
func _on_dialog_ok() -> void:
print("ダイアログを閉じた")
コード例:エラー通知をどこからでも呼び出せるヘルパー関数
func show_message(title: String, message: String) -> void:
var dialog := AcceptDialog.new()
dialog.title = title
dialog.dialog_text = message
add_child(dialog)
dialog.popup_centered()
# 閉じたら自動削除
dialog.confirmed.connect(dialog.queue_free)

もっと使いこなす:カスタマイズできるパラメータ
まずは基本を動かしてみてから、余裕が出たら試してみてください。
| パラメータ・テクニック | 変えると何が起きるか |
|---|---|
ok_button_text を変える |
「OK」を「とじる」「わかった」などに変更でき、文脈に合った表現になる |
add_button() でボタンを追加する |
「詳細を見る」など追加ボタンを右側に置ける。custom_action シグナルで区別できる |
AcceptDialog.new() で動的生成する |
シーンに置かずコードだけで使い捨てダイアログを作れる。ヘルパー関数化しておくと便利 |
confirmed シグナルを使う |
OKを押した後に次の処理(画面遷移・リトライなど)をつなげられる |
まとめ
AcceptDialog は 「メッセージとOKボタンだけのシンプルな通知ダイアログ」 です。
dialog_textとpopup_centered()の2行だけで最低限のダイアログが作れるtitle・ok_button_textを変えるだけで用途に合った表現になる- 「はい・いいえ」の選択が必要なら
ConfirmationDialog(039)に切り替える
次回は、確認操作に使う「はい・いいえ」ボタン付きダイアログ ConfirmationDialog を紹介します。
シリーズ:Godot 4 ノード解説
この記事はGodot 4.xをもとに執筆しています。


コメント