はじめに
ゲームで、プレイヤーから名前やIDを入力してもらいたい場面があります。チャットシステムを作るときも、テキスト入力が必要です。そうしたときに活躍するのが LineEdit ノードです。この記事では、LineEditの役割、使い方、カスタマイズ方法をわかりやすく説明します。
LineEditとは?
LineEdit は、プレイヤーが1行のテキストを入力する�めのUIコンポーネントです。テキスト入力欄の本体であり、Godotで最も基本的なテキスト入力ノードです。
LineEditは、スマートフォンやパソコンの「テキスト入力ボックス」そのものだと考えてください。キーボードから入力を受け取よ、画面に表示します。
LineEdit は Control を継承しており、他のUIコンポーネントと同じように配置・スタイリング可能です。
このノードを使うべき場面
- プレイヤー名やニックネームを入力させたいとき
- ゲーム内チャットやメッシージシステムを作るとき
- ID・パスワード入力フォームを作るとき
- シーン内で設定値や数値を入力してもらいたいとき
- 検索ボックスやフィルター入力を実装するとき
一方、以下の場合は別のノードを使います。
- 複数行のテキスト入力が必要なら →
TextEdit - 単なるテキスト表示だけなら →
LabelやRichTextLabel
主なプロパティと機能
LineEditで最よく使うプロパティをまとめました。
| プロパティ | 説明 | GDScriptコード例 |
|---|---|---|
text |
テキスト入力欄の内容 | line_edit.text = "初期テキスト" |
placeholder_text |
入力欄が空のときに表示される薄いテキスト | line_edit.placeholder_text = "名前を入力してください" |
max_length |
入力できる最大文字数 | line_edit.max_length = 20 |
secret |
入力内容を「*」で隠す(パスワード入力用) | line_edit.secret = true |
editable |
ユーザーが編集できるかどうか | line_edit.editable = false |
text_changed シグナル |
テキストが変更されたときに発火 | line_edit.text_changed.connect(_on_text_changed) |
text_submitted シグナル |
Enterキーが押されたときに発火 | line_edit.text_submitted.connect(_on_text_submitted) |
もっと使いこなす:カスタマイズできるパラメータ
まずは基本を動かしてみてから、余裕が出たら試してみてください。
よく使うカスタマイズ
| パラメータ | 何を変えると何が起きるか | 使用例 |
|---|---|---|
max_length |
入力できる最大文字数を制限。20に設定すると、21文字目以降は入力されない | line_edit.max_length = 20 で、プレイヤー名は最大20文字に |
secret |
true にするとテキストが「*」で表示される。パスワード欄に必須 |
line_edit.secret = true で、入力内容を隠す |
placeholder_text |
入力欄が空のときのヒント表示。ユーザーに何を入力するか伝える | line_edit.placeholder_text = "メールアドレス" |
text_changed |
ユーザーが1文字入力するたびにシグナルが発火。リアルタイム検証に使う | line_edit.text_changed.connect(_check_input) で々入力と同時に検証 |
text_submitted |
Enterキーが押されたときにシグナルが発火。「決定」ボタンの代わりになる | line_edit.text_submitted.connect(_on_enter_pressed) でフォーム送信 |
editable |
false にするとテキスト入力欄が読み取り専用になる |
line_edit.editable = false で、プレイヤーが編集できなくなる |
まとめ
LineEdit は、プレイヤーからテキスト入力を受け取るための基本的で便利なUIノードです。
覚えておくべきポイント:
- 1行のテキスト入力に使う(複数行なら
TextEdit) text_changedとtext_submittedシグナルでユーザー入力に反応するmax_lengthとsecretで入力内容を制限できる
次の記事では Button ノードを解説します。LineEditで入力を受け取ったら、ボタンで確定するゲームの流れを実装してみましょう。
シリーズ一覧
- 001: Node
- 002: Node2D
- 003: Sprite2D
- 004: AnimatedSprite2D
- 005: CharacterBody2D
- 006: CollisionShape2D
- 007: Area2D
- 008: RigidBody2D
- 009: Camera2D
- 010: Label
- 011: RichTextLabel
- 012: LineEdit
- 013: Button
この記事はGodot 4.xをもとに執筆しています。


コメント