チャムコード

チャーさんのUnityゲームラボです。Unityでゲーム制作する時に使うコードやノウハウをメインに発信しています。Unityでゲーム制作したいと思っているなら読んでください。

ゲーム開発ノウハウ

Unityでゲームスタート画面とゲーム画面に遷移する方法

投稿日:

うも、チャーさんです。

 

この記事では、Unityでゲームスタート画面の作り方を

説明してます。なので、この記事を読めば、

あなたはゲームスタート画面を作れて、

 

かつスタートボタンを押したらゲーム画面に切り替わる

という機能を作れます。

 

 

ですが読まなければ、スタート画面、スタート機能を

作るのに時間がかかってしまうかもしれません。

なのでそうなりたくなければ、このまま記事を呼んでください。

 

Unityでゲームスタート画面とゲーム画面に遷移する方法

 

ということで早速結論です。

 

Unityでゲームスタート画面とゲームスタート機能

を作るには、大まかに以下の3つをやりましょう。

 

  • ゲームシーンを用意する
  • ゲームスタート画面を作る
  • スタートボタンを押したらゲームシーンに移動する機能を作る

 

これをやればゲームスタート画面と

遷移する機能をゲットできます。

 

ゲームシーンを用意する

 

まずゲームシーンを用意するですが、

ゲームスタート画面でスタートボタンを押したら

ゲームがスタートするためには、

 

ゲーム用のシーンが必要なわけです。

ということでゲーム用のシーンを用意しましょう。

 

と言っても、今この場でゲームシーンを完成させる必要はなく、

最初にUnityを起動した時に開いてるシーンを

ゲーム用のシーンとでも見立てておきましょう。

 

ゲームシーンはそれでOKです。

 

 

ゲームスタート画面を作る

 

で、次にゲームスタート画面を作るですが、

こちらも簡単です。

 

まずはゲームスタート用のシーンを用意します。

ということで、Assetsの中で右クリックを押して、

Sceneをクリックしましょう。

 

 

すると新しくSceneができるので、

gameStartとでも名前をつけておきましょう。

 

 

で、Sceneを作れたら、それをダブルクリックし、

ゲームスタート画面用のSceneに移りましょう。

 

次に、Hierarchyの+をクリックして、

UI > Textをクリックしましょう。

 

するとCanvasとTextが追加されます。

 

 

このTextをクリックしインスペクター内にある

Textコンポーネントから文章を変更できるので、

ゲームタイトルと見立てて書き換えましょう。

 

次に、テキストは追加した時は左下の方に位置してます。

 

このテキストはゲームスタート画面のタイトルと見立ててるので

位置を移動して中央に表示させましょう。

 

 

TextのインスペクターにRect Transformというのが

あるので、X軸、Y軸共に0にして中央に配置しましょう。

 

また、TextコンポーネントのAlignmentから

文字の中央寄せも行なっておきましょう。

 

 

次に、これでゲームスタート画面のゲームタイトルは

できましたが、まだこれだとスタートボタンが

ありません。

 

ということで、スタートボタンをゲームスタート画面に

追加しましょう。追加の仕方は、Hierarchyの+を

クリックして、

 

UI > Buttonというのがあるので、それをクリックしましょう。

 

 

するとCanvasの中にButtonというのが追加されるので、

 

先ほどと同じように、Rect Tranformコンポーネントの

座標部分を操作して、中央寄せ位置をゲームタイトルテキスト

の下あたりにでも配置しましょう。

 

またHierarchyの中のButtonの下にTextというのが

あるので、それをクリックし、表示されるテキストを

あなたの好きな文章にしましょう。

 

 

いわゆるここがスタートボタンの部分になります。

で、ここまで出来ればゲームスタート画面の見た目は

完成です。

 

 

で次に、

 

スタートボタンを押したらゲームシーンに移動する機能を作る

 

機能の作成に移ります。

 

内容としては、先ほど設置したボタンを

クリックしたらゲームシーンに飛ぶという流れです。

 

とは言っても、そこまで難しくはなく、

スクリプトを少しと、設定を少ししたらできます。

 

 

ということで先にスクリプトを書きましょう。

ということで、まずはHierarchyのButtonをクリックして、

インスペクターのAdd Componentをクリックしましょう。

 

で、New Scriptと検索して、クリックしたら

スクリプトに名前をつけましょう。

 

gameStartとかでOKです。

 

 

でスクリプトの中には、

 

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;

public class gameStart : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{

}

public void toGameView(){
 SceneManager.LoadScene(“gameScene”);
}

// Update is called once per frame
void Update()
{

}
}

 

と書きましょう。

 

スクリプトの補足をしますと、

public void toGameView(){
 SceneManager.LoadScene(“gameScene”);
}

の部分が、ボタンをクリックした際に、

ゲーム用のシーンに遷移するためのコードです。

 

関数名は好きなようにつけてもらって構わないです。

 

 

また「ボタンを押したらとかっていう記述がない」と

思ったかもですが、それはなくても

遷移させれるので、気にしないでください。

 

あと、冒頭部分に

using UnityEngine.SceneManagement;

 

と書いてますが、これがないとエラー出るので

忘れずに書いておいてください。

 

 

で、ここまでできたらスクリプトを保存して、

一旦Unityに戻りましょう。

 

で次に、HierarchyのButtonをクリックして、

 

次にインスペクター内にあるButtonコンポーネントの

下にある、On ClickのRuntimeというスロットの下部分に、

HierachyからButtonをドラッグアンドドロップしましょう。

 

 

すると、Runtimeの横のスロットをクリックできるように

なり、今先ほど追加したスクリプト名が追加されてるので

それをクリックしてください。

 

それをクリックした後、先ほどスクリプト内に書いた、

toGameViewという関数名が表示されてるので、

それをクリックしましょう。

 

 

こうすることで、ボタンがクリックされたら、

こちらの関数が動き、ゲーム用のシーンに遷移するという

形です。

 

ただこれで完成でなく、あと最後に1設定をして

完了です。

 

 

ということで、File > Build Settingというのを

クリックしましょう。

 

そしてここで、ゲームスタート用のSceneと、

ゲーム用のSceneを両方共、Scenes in Buildという所に

Assetsからドラッグアンドドロップして、

 

Sceneを追加してください。

 

 

それができたら、Build settingの画面を閉じて、

あとは、ゲームスタート画面のSceneで、

 

ゲーム開始ボタンを押しましょう。

 

で、先ほど作ったゲームスタート画面内の

スタートボタンをクリックしましょう。

 

 

でボタンを押した時に、ゲーム用のSceneに遷移すれば、

成功です。

 

 

まとめ

 

Unityでゲームスタート画面を作る方法ですが、

 

ゲームシーンを用意する

ゲームスタート画面を作る

スタートボタンを押したらゲームシーンに移動する機能を作る

 

大まかにこの3つをやればOKです。

 

そうすれば、あなたがUnityで作ったゲームに

ゲームスタート画面を追加して、

スタートボタンを押したらゲームが始まる、

 

みたいなことができるようになりますよ!

 

ということで、まずは早速ゲームスタート画面用の

新しいSceneを作るところから始めてみてください。

 

ということで、ゲームスタート画面の作り方の

記事でした。

 

それでは読んでいただきありがとうございました。

 

チャーさん

-ゲーム開発ノウハウ

関連記事

no image

unityでターン制のゲームを作るにはコレを使いましょう

どうも、チャーさんです。 あなたはunityでターン制ゲームを作りたい そう思っていませんか?   この記事ではunityでターン制のゲームを 作る方法を書いています。   なので …

Unityでオブジェクトを上下移動(往復)させる機能の作り方

どうも、チャーさんです。 あなたはUnityでオブジェクトを自動で上下移動させたい と思っていますか?   オブジェクトを上下に自動で往復させたり、 動く床として上下に自動で往復させたり、 …

Unityでジャンプする方法(空中ジャンプ防止機能付き)

どうも、チャーさんです。   あなたはUnityでジャンプ機能を作りたい と思っていますか?この記事では、パソコンの キーボードを押したら、ジャンプする機能の作り方を説明します。 &nbsp …

Unityでのゲームオーバー機能の作り方をわかりやすく説明

  どうも、チャーさんです。 この記事では、Unityでゲームオーバー画面の 作り方を説明します。   この記事を読めば、あなたはゲームオーバー画面を作れて さらにゲームオーバーの …

Unityで動く床(滑らない、往復)の作り方はコチラ

どうも、チャーさんです。 あなたはUnityで動く床、それも滑り落ちず 往復するやつを作りたいと思っていますか?   この記事を読めばそれは実現します。 ですが読まないと結構つまづきます。 …

UnityでHPを回復させる機能を作る方法(簡単なやり方です)

どうも、チャーさんです。 この記事では、UnityでHPを回復させる方法を お話しします。   ゲームでは基本プレイヤーが回復することが多い のでプレイヤーのHPの回復方法を書きます。 &n …

no image

unityでキー入力で攻撃する方法(3分以内にできます)

どうも、チャーさんです。 あなたはunityでキー入力による攻撃を したいですか?   この記事ではunityでキー入力で攻撃を する方法を書いてますので、あなたがこれを読めば、 キー入力で …

最新記事

チャーさん

Unityに関する記事を書いてます。

 

[簡単な経歴]

 

2018年-プログラムを始めUnityの存在を知りハマる。

2019年-エンジニアとして仕事開始(web系)

2021年-UnityでVR開発等にも手を出し始める。

現在-エンジニアとして活動しながらUnityも続行中。

 

youtubeでは、Unityに関する動画をあげてるので、

あなたのUnityスキルアップにどうぞ。