4.シーンを作成しよう
プロジェクトを作った直後
プロジェクトを作った直後は、シーンは空の状態です。ここにルートノードを作ります。
まず、画面上部の「2D」をクリックして2Dビューにします。そして、左上の「シーン」ドックを見てください。「ルートノードを生成」とあり、その下に「2D シーン」「3D シーン」「ユーザーインターフェース」「その他のノード」というボタンが並んでいます。

これから2Dゲームを作るので、「2D シーン」を押せばよさそうです。しかし「2D シーン」を押さなくてもよいです。
「2D シーン」を押すと、「Node2D」というノードがルートに追加されます。ノードはクラスやオブジェクトのようなものです。「Node2D」は2D系の親クラスに相当します。そして単なる空のノードです。
ルートノードとして、空のノードである「Node2D」を追加してもよいですし、その他のノードを追加しても構いません。「2D シーン」ボタンで追加する「Node2D」は、「その他のノード」ボタンからも選べます。
Godot Engineでは、各シーンはルートノードに追加されたノード群です。シーン自体もノードなので、他のシーンに配置できます。
ルートノードを作る
それでは作業を進めましょう。「その他のノード」をクリックして「Nodeを新規作成」ダイアログを開きます。

ツリーの中から、折り畳まれている「Node2D」(青色の丸)を開き、その配下にある「Sprite2D」を選択して、画面下部の「作成」ボタンを押します。

左上の「シーン」ドックのルートに「Sprite2D」が配置されました。また、右側の「インスペクター」ドックに「Sprite2D」の設定が表示されています。

シーンの保存
中央のメインビューでは、シーンのタブが「[未保存](*)
」になっています。「Ctrl+S」でシーンを保存します。「名前を付けてシーンを保存」ダイアログが表示されますので、ここでは、そのままの名前sprite_2d.tscn
で保存します。

.tscn
という拡張子は、text sceneの略です。シーンの情報がテキストで入っています。TSCNファイルの中身については、下のドキュメントに詳細がまとまっています。ただ、よほどのことがない限り、自分で中身を読む必要はないでしょう。
sprite_2d.tscn
を作成すると、「ファイルシステム」ドックにsprite_2d.tscn
が追加されます。以降は、このファイルをダブルクリックすると、このシーンを開くことができます。

インスペクターとリソース
さて、「シーン」ドックで「Sprite2D」を選択した状態で、「インスペクター」ドックを見てみましょう。「Sprite2D」の一番上にある「Texture」の項目が「空」になっています。
この場所に、「ファイルシステム」ドックの「icon.svg」をドロップします。SpriteにTextureが設定されて、2Dビューの見た目が変わります。

リソースの利用
今回は、プロジェクト内に始めから用意されていた画像を利用しました。
このようにリソースを利用するためには、プロジェクト外部のファイルを、「ファイルシステム」ドックにあらかじめドロップして追加する必要があります。
この時、注意すべきことがあります。エクスプローラーなどでフォルダーを開いて直接ファイルを追加してはいけません。Godot Engineのエディターを経由して追加しなければなりません。
たとえばエディターの「ファイルシステム」ドックにhero.png
というファイルをドロップしたとします。すると、内部的にhero.png
がコピーされるとともにhero.png.import
という設定ファイルも作成されます。
この~.import
というファイルが必要です。そのため外部のリソースは、必ずエディターの「ファイルシステム」ドックにドロップします。
インスペクターとノードの継承構造
さて「Strite2D」に対して、もう少し設定を加えましょう。現在は原点の位置に画像の中心が来ており、画像の右下の1/4しか表示範囲に入っていない状態です。
「インスペクター」ドックの「Sprite2D」の「Offset」を開いて、「Offset」>「x」を「576」、「y」を「324」にします。この数値は、ビューポートの横幅と高さ「1152」「648」の半分です。
この値を入力すると、画像がビューポートの中央に表示されます。

ノードの継承構造
「インスペクター」ドックの「Sprite2D」の下には、「Node2D」や「CanvasItem」「Node」という項目が並んでいます。
この時点で、勘のよい読者の方は気づいたかもしれません。
インスペクターに表示されている「Sprite2D」は「Node2D」を継承しています。「Node2D」の親クラスは「CanvasItem」です。「CanvasItem」の親クラスは「Node」です。
Godot Engineでは、クラスを継承して新しいクラスを作れます。
▶ Sprite2Dの継承構造
-
Node
-
CanvasItem
-
Node2D
- Sprite2D
-
Node2D
-
CanvasItem
実行
ここでいったん「Ctrl+S」を押して、シーンを保存します。そして、エディターの右上にあるボタン群から「▶」(プロジェクトの実行)をクリックします。
そうすると「確認」ダイアログが表示されます。メッセージは「メインシーンが定義されていません。選択しますか? 'アプリケーション'カテゴリの下の"プロジェクト設定"で後から変更できます。」です。「現在のものを選択」ボタンを押します。

すると「test(DEBUG)」というウィンドウが表示され、作成した「Sprite2D」が表示されます。

いったんウィンドウを閉じて、先に進みましょう。