GDScript を使用して Godot で対話システムを作成する
ホームページホームページ > ブログ > GDScript を使用して Godot で対話システムを作成する

GDScript を使用して Godot で対話システムを作成する

Jul 06, 2023

パンチの効いた対話システムを使用して、キャラクターに個性と背景を追加します。

ゲーム開発では、魅力的なゲームプレイと魅力的なストーリーテリングが記憶に残るエクスペリエンスを生み出す鍵となります。 これを達成するのに役立つ強力なツールの 1 つは、対話システムです。

適切に実装された対話システムにより、キャラクターはコミュニケーション、情報共有、プレイヤーとの対話を行うことができ、ゲームに深みと没入感を加えます。

ゲームの基礎を作成することから始めます。 この例では、矢印キーを使用して移動できる制御可能なキャラクターを含む単純な 2D 環境をセットアップします。

この記事で使用されているコードは、この GitHub リポジトリで入手でき、MIT ライセンスに基づいて無料で使用できます。

まず、プレイヤー キャラクターの新しいシーンを作成します。 このシーン内に必要なコンポーネントを追加します。 を作成しますキャラクターボディ2Dプレイヤー キャラクターの体を表すノード。 添付するCollisionShape2Dプレイヤーの衝突エリアを定義する長方形の形状。

次に、GDScript を使用して、キャラクターの動きとプラットフォームとのインタラクションを追加します。 CharacterBody2D ノードのデフォルトのスクリプトを次のコードに置き換えます。

このスクリプトを使用すると、矢印キーの入力に基づいてキャラクターを左右上下に移動できます。 の移動と衝突関数は、キャラクターがプラットフォームと対話し、衝突に応答することを保証します。

これで、対話システムの作成を開始できます。 最初のステップは、キャラクターが特定のオブジェクトまたは NPC と対話するときにテキストを表示するダイアログ ボックスを追加することです。

あなたの中でキャラクターボディ2Dスクリプトでは、ダイアログ ボックスとその内容を処理するためにさらにいくつかの変数を導入します。

ダイアログボックスは対話テキストを表示する責任を負いますが、閉じるボタンプレイヤーは必要に応じてダイアログ ボックスを閉じることができます。

の中に_準備ができて関数を使用して、ダイアログ ボックスを作成して初期化します。

これで、ダイアログ ボックス内のテキストの表示に集中できるようになります。 テキストを複数行にまたがってスクロールし、一度に 1 行のテキストを表示することができます。

を変更してください_物理_プロセスダイアログ行の表示を処理する関数:

コードのこの部分では、ラインタイマー 0 より大きい場合、タイマーをデルタ値だけ減少させます。 タイマーがアクティブではなく、表示するダイアログ行がさらにある場合は、show_next_dialogue_line関数。

を実装します。show_next_dialogue_line次のように機能します。

この関数は、ダイアログ ボックス内のテキストを現在のダイアログ行で更新し、ダイアログ ボックス内のテキストを増分します。現在の行索引。 のラインタイマー次の行に進む前に、各行が短時間表示されるようにします。

これで、プレイヤーがダイアログ ボックスを閉じてゲームのプレイを続行できるようになりました。 これを閉じるボタンを使用して行います。このボタンを押すと、ダイアログ ボックスが非表示になり、プレイヤーは旅を再開できるようになります。

まず、_準備ができて関数を使用して閉じるボタンを作成し、その機能をアタッチします。

このコードは、ボタンクラスを作成し、その外観と位置をカスタマイズします。 また、押されたに信号を送る_閉じるボタンを押したとき関数。

今実装してください_閉じるボタンを押したとき関数。 この関数では、ダイアログ ボックスと閉じるボタンの両方の表示/非表示を設定します。間違い 。 これにより、対話インターフェイスがプレーヤーから効果的に隠されます。

忘れずにリセットしてください現在の行プレーヤーが次回会話を開始するときに対話が最初から開始されるようにするために、インデックスを 0 に設定します。

これらの変更により、プレイヤーは対話に参加し、ゲーム世界の探索や対話を続ける準備ができたらダイアログ ボックスを閉じることができるようになります。