ビジュアル・スクリプト入門

Godotのすべてのものと同様に、現在のワークフローにはうまく適合しない可能性があるサードパーティ製のソリューションをコピーまたは統合するよりも、優れた経験を優先します。このため、この機能がエンジンで最もうまく動作すると思われる独自のバージョンを作成しました。

Godotでは、 Editorタブでビジュアルスクリプトを通常のスクリプトとスムーズに連携させることができます

../../../_images/visual_script1.png

実際、ビジュアル・スクリプトはGodotと非常によく統合されているため、バージョン3.0でのみ追加されたとは信じがたいほどです。これは編集時に残りのGodotパネルとドックがパレットのように機能し、そこからあらゆる種類の情報をスクリプトキャンバスにドラッグアンドドロップできるためです:

../../../_images/visual_script2.png

スクリプトの作成

スクリプトの作成は他のスクリプト言語と同じように機能します。シーン内の任意のノードを選択し、シーンツリードックの右上隅にある "New Script" ボタンを押します:

../../../_images/visual_script3.png

開いたら、ドロップダウンリストからスクリプトタイプ "Visual Script" を選択する必要があります。スクリプトの拡張子は ".vs" にする必要があります(Visual Scriptの場合)。

../../../_images/visual_script4.png

最後にスクリプトエディタが開き、ビジュアル・スクリプトの編集を開始できます:

../../../_images/visual_script5.png

関数の追加

他のビジュアルスクリプティング実装とは異なり、Godotのビジュアルスクリプティングは関数に大きく基づいています。これは、他のスクリプトエンジンと同じインターフェイスを使用してエンジンと通信するために発生します。Godotでは、スクリプトインターフェースは汎用的で、すべての実装はそれに準拠しています。

関数は、ノードが接続されている個々のキャンバスです。

1つのスクリプトに多数の関数を含めることができ、それぞれに独自のキャンバスがあり、より多くの編成が可能になります。

スクリプトに関数を追加するには、主に3つの方法があります:

仮想関数のオーバーライド

Godotのほとんどの種類のノードやその他の種類のオブジェクトには仮想関数が含まれています。これらは、何かが起こったときに呼び出され(コードを実行する)、参照で調べることができる関数です。メンバーパネルの "Override" アイコンを押すと、仮想関数が一覧表示されます:

../../../_images/visual_script6.png

次の例ではノードがロードされて実行中のシーンに追加されたときに関数が実行されます。このため_ready()仮想メソッドはオーバーライドされます:

../../../_images/visual_script7.png

最後に、この関数のキャンバスが表示され、オーバーライドが表示されます:

../../../_images/visual_script8.png

一部の関数は値を返すことを期待しているので、そのような値を提供することを想定しているリターンノードも追加します:

../../../_images/visual_script9.png

シグナルの関数への接続

ツリー内のノードは何かが起こるとシグナルを発します。 Godotはあらゆる種類のものにシグナルを使用します。典型的な例は、実際に押されたときに "pressed" シグナルを発するボタンです。

このためにはノードを選択して[Node]タブを開く必要があります。これでシグナルを調べることができます。表示されたら、 "pressed" シグナルを接続します:

../../../_images/visual_script10.png

これで接続ダイアログが開きます。 このダイアログでは、シグナルが接続されるノードとシグナルを受信する関数を選択する必要があります:

../../../_images/visual_script11.png

これが正しく行われると、スクリプト内に新しい関数が作成され、シグナルが自動的にその関数に接続されます:

../../../_images/visual_script12.png

関数の手動作成

関数を作成する最後の方法は手動でそれをすることです。一般的には、これが必要な時はさほどありません。カスタム関数は、別の(または同じ)スクリプトがそれらを手動で呼び出すときに機能します。これの主な使用例は、大きな関数をいくつかの管理しやすいチャンクに分割し、ビジュアルコードを再利用することです。

手動で関数を作成するには、大きな "Plus" ボタンを押すと、新しい関数がデフォルトの名前で追加されます:

../../../_images/visual_script13.png

新しい関数が追加され、名前をダブルクリックするだけで名前を変更できます:

../../../_images/visual_script14.png

この関数が取得できる "arguments" (この関数を呼び出すときに渡す値)を編集するには、関数ノードをクリックしてインスペクタをチェックするだけです:

../../../_images/visual_script15.png

詳細については、このドキュメントの後半で説明します。