SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Godot Engine 2Dゲーム開発入門

Godot Engineのゲーム開発はじめの一歩──インストールしてプロジェクトを動かそう!

Godot Engine 2Dゲーム開発入門 第1回

  • X ポスト
  • このエントリーをはてなブックマークに追加

4.シーンを作成しよう

プロジェクトを作った直後

 プロジェクトを作った直後は、シーンは空の状態です。ここにルートノードを作ります。

 まず、画面上部の「2D」をクリックして2Dビューにします。そして、左上の「シーン」ドックを見てください。「ルートノードを生成」とあり、その下に「2D シーン」「3D シーン」「ユーザーインターフェース」「その他のノード」というボタンが並んでいます。

2Dビュー
2Dビュー

 これから2Dゲームを作るので、「2D シーン」を押せばよさそうです。しかし「2D シーン」を押さなくてもよいです。

 「2D シーン」を押すと、「Node2D」というノードがルートに追加されます。ノードはクラスやオブジェクトのようなものです。「Node2D」は2D系の親クラスに相当します。そして単なる空のノードです。

 ルートノードとして、空のノードである「Node2D」を追加してもよいですし、その他のノードを追加しても構いません。「2D シーン」ボタンで追加する「Node2D」は、「その他のノード」ボタンからも選べます。

 Godot Engineでは、各シーンはルートノードに追加されたノード群です。シーン自体もノードなので、他のシーンに配置できます。

ルートノードを作る

 それでは作業を進めましょう。「その他のノード」をクリックして「Nodeを新規作成」ダイアログを開きます。

「Nodeを新規作成」ダイアログ
「Nodeを新規作成」ダイアログ

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

Sprite2Dを選択
Sprite2Dを選択

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

Sprite2Dを配置
Sprite2Dを配置

シーンの保存

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

「名前を付けてシーンを保存」ダイアログ
「名前を付けてシーンを保存」ダイアログ

 .tscnという拡張子は、text sceneの略です。シーンの情報がテキストで入っています。TSCNファイルの中身については、下のドキュメントに詳細がまとまっています。ただ、よほどのことがない限り、自分で中身を読む必要はないでしょう。

 sprite_2d.tscnを作成すると、「ファイルシステム」ドックにsprite_2d.tscnが追加されます。以降は、このファイルをダブルクリックすると、このシーンを開くことができます。

sprite_2d.tscn
sprite_2d.tscn

インスペクターとリソース

 さて、「シーン」ドックで「Sprite2D」を選択した状態で、「インスペクター」ドックを見てみましょう。「Sprite2D」の一番上にある「Texture」の項目が「空」になっています。

 この場所に、「ファイルシステム」ドックの「icon.svg」をドロップします。SpriteにTextureが設定されて、2Dビューの見た目が変わります。

Textureの設定
Textureの設定

リソースの利用

 今回は、プロジェクト内に始めから用意されていた画像を利用しました。

 このようにリソースを利用するためには、プロジェクト外部のファイルを、「ファイルシステム」ドックにあらかじめドロップして追加する必要があります。

 この時、注意すべきことがあります。エクスプローラーなどでフォルダーを開いて直接ファイルを追加してはいけません。Godot Engineのエディターを経由して追加しなければなりません。

 たとえばエディターの「ファイルシステム」ドックにhero.pngというファイルをドロップしたとします。すると、内部的にhero.pngがコピーされるとともにhero.png.importという設定ファイルも作成されます。

 この~.importというファイルが必要です。そのため外部のリソースは、必ずエディターの「ファイルシステム」ドックにドロップします。

インスペクターとノードの継承構造

 さて「Strite2D」に対して、もう少し設定を加えましょう。現在は原点の位置に画像の中心が来ており、画像の右下の1/4しか表示範囲に入っていない状態です。

 「インスペクター」ドックの「Sprite2D」の「Offset」を開いて、「Offset」>「x」を「576」、「y」を「324」にします。この数値は、ビューポートの横幅と高さ「1152」「648」の半分です。

 この値を入力すると、画像がビューポートの中央に表示されます。

Offsetの設定
Offsetの設定

ノードの継承構造

 「インスペクター」ドックの「Sprite2D」の下には、「Node2D」や「CanvasItem」「Node」という項目が並んでいます。

 この時点で、勘のよい読者の方は気づいたかもしれません。

 インスペクターに表示されている「Sprite2D」は「Node2D」を継承しています。「Node2D」の親クラスは「CanvasItem」です。「CanvasItem」の親クラスは「Node」です。

 Godot Engineでは、クラスを継承して新しいクラスを作れます。

▶ Sprite2Dの継承構造

  • Node
    • CanvasItem
      • Node2D
        • Sprite2D

実行

 ここでいったん「Ctrl+S」を押して、シーンを保存します。そして、エディターの右上にあるボタン群から「▶」(プロジェクトの実行)をクリックします。

 そうすると「確認」ダイアログが表示されます。メッセージは「メインシーンが定義されていません。選択しますか? 'アプリケーション'カテゴリの下の"プロジェクト設定"で後から変更できます。」です。「現在のものを選択」ボタンを押します。

「確認」ダイアログ
「確認」ダイアログ

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

 「test (DEBUG)」ウィンドウ
「test (DEBUG)」ウィンドウ

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

次のページ
5.スクリプトを書いてみよう1

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
この記事の著者

柳井 政和(ヤナイ マサカズ)

クロノス・クラウン合同会社 代表社員http://crocro.com/オンラインソフトを多数公開。プログラムを書いたり、ゲームを作ったり、記事を執筆したり、マンガを描いたり、小説を書いたりしています。「めもりーくりーなー」でオンラインソフト大賞に入賞。最近は、小説家デビューして小説も書いています(『裏切りのプログラム』他)。面白いことなら何でもOKのさすらいの企画屋です。 

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/21360 2025/04/28 11:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング