SHOEISHA iD

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

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

Godot Engine 2Dゲーム開発入門

【Godot Engine 2Dゲーム制作 Part3】タイトル画面を作ってBGMを追加しよう!

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

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

タイトル画面のスクリプトを書こう

スクリプトの作成

 続いて「Title」ノードにスクリプトをアタッチします。

 「Title」ノードを右クリックして「スクリプトをアタッチ」を選択します。「ノードにスクリプトをアタッチする」ダイアログが表示されますので「テンプレート」にチェックを入れて、そのまま「作成」ボタンを押します。

 res://scn/title/title.gdと保存されたはずです。

 続いて、「Title」ノード配下の「Button」ノードを選択した状態で、右側のサイドバーの「ノード」ドック>「シグナル」タブを選択します。

 「BaseButton」>「pressed()」を右クリックして「接続」を選択します。

 「メソッドにシグナルを接続」ダイアログが表示されますので、ノードツリーから「Title」を選択して、「受信側メソッド」が「_on_button_pressed」の状態で「接続」ボタンを押します。

接続
接続
「メソッドにシグナルを接続」ダイアログ
「メソッドにシグナルを接続」ダイアログ

 title.gdをScriptビューで開くと、次のような状態になっています。

title.gd
extends CanvasLayer


func _ready() -> void:
	pass


func _process(delta: float) -> void:
	pass


func _on_button_pressed() -> void:
	pass

 _on_button_pressed関数を次のように書き換えます。

func _on_button_pressed() -> void:
	get_tree().change_scene_to_file("res://scn/maze/maze.tscn")

 get_tree関数はSceneTreeオブジェクトを返します。SceneTreeオブジェクトのchange_scene_to_file関数は、現在のシーンを指定したパスのシーンに変更します。

実行確認

 「Title」シーンを実行します。 title.tscnを開いた状態で、「F6」を押すか、画面右上の「カチンコの中に▶のアイコン」カチンコの中に▶のアイコン(現在のシーンを実行)ボタンを押します。タイトル画面が表示されます。「START」ボタンを押して、シーンが遷移することを確認してください。

タイトル画面
タイトル画面
「START」ボタンを押して遷移
「START」ボタンを押して遷移

 いちおう、この方式でもシーンを遷移してゲームを作ることができます。しかし、シーン遷移時の演出や、個々のシーンを手軽に管理する関数が欲しいところです。

 次節からは、そうした演出や、シーン管理用のクラスを作っていきます。

次のページ
画面遷移用のシーンを作ろう

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

  • X ポスト
  • このエントリーをはてなブックマークに追加
Godot Engine 2Dゲーム開発入門連載記事一覧

もっと読む

この記事の著者

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

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

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

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

この記事をシェア

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

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング