Unity入門講座|マウスクリックでシーン移動について学ぼう

Unity
うさタブ
うさタブ

今回はUnityのマウスクリックでシーン移動について勉強するッピ!

うさタブ
うさタブ

マウスを押すとシーン移動する仕組みをつくるッピ!

ユウキ
ユウキ

マウスクリックとシーン移動

アイカ
アイカ

まだ習ったことないわ!

うさタブ
うさタブ

ずばり、マウスをポチッとすると、

画面を切り替える方法だッピ!

うさタブ
うさタブ

シーン移動はUnityの基礎基礎ッピ!
絶対覚えておくと良いッピ!

うさタブ
うさタブ

これからこのボタンの配置とシーン移動を一緒に勉強して行くッピよ~

マウスクリックとシーン移動について学ぼう

必要なもの

うさタブ
うさタブ

まずは必要なものを用意するッピ!

  • Unity
  • Windows または Mac のパソコン

が必要ッピよ~!

うさタブ
うさタブ

まだ Unity をダウンロードしてない人は

↓ の記事を参考に必要なものをインストールするといいッピ!

ボタンをつくる

うさタブ
うさタブ

まずはゲーム作成画面をつくってみるッピ!

Unity-Hubを立ち上げて、

2Dまたは3Dでプロジェクトをつくるッピよ~

ユウキ
ユウキ

できた!

うさタブ
うさタブ

いい感じッピ!

次はさっそくシーンをつくっていくッピ!

シーンフォルダがあるのを確認しよう

うさタブ
うさタブ

まずはAssetsの中にある

シーンファイルをクリックするッピ!

うさタブ
うさタブ

次は新しい画面シーンをつくるッピ~

まず

Asset→Scene

をクリックするッピ!

うさタブ
うさタブ

この【Scene】のなかに、

SampleScene』があるのを確認するッピよ~

アイカ
アイカ

あったわ!

新しい画面シーンをつくる

あたらしいシーンを用意しよう

うさタブ
うさタブ

次は

シーンフォルダで右クリック→[作成]→[シーン]

でシーンを作成するッピ!

ユウキ
ユウキ

お! なんかでた

うさタブ
うさタブ

いい感じッピ!

[after]

とわかりやすいように名前をつけてみるッピ!

名前を変えてみよう

うさタブ
うさタブ

サンプルシーンの名前も変えてみるッピ!

[sampleScene]をダブルクリック
または右クリック→名前を変更を選択するッピ!

うさタブ
うさタブ

わかりやすいように

[before]と名前をつけるッピ♪

ユウキ
ユウキ

アフターの反対だな!

アイカ
アイカ

なんだかふしぎなウィンドウが出てきたわ!

うさタブ
うさタブ

これはそのまま

【再ロードを選択すればオッケーッピ!

ユウキ
ユウキ

りょーかい!

[before]シーンの背景を変更する

うさタブ
うさタブ

[before]シーンを切り替えたとき
わかりやすくなるよう「背景色」を変更するッピ!

インスペクター→【camera】→【背景】→スポイト

を選択するッピよ~♪

うさタブ
うさタブ

好きな色を選んで、

メインカメラの色が変わっていればオッケーッピ!

シーンを切り替える

切り替えプログラムをつくる

うさタブ
うさタブ

シーンの切り替えプログラムをつくるッピ~!

うさタブ
うさタブ

まずは、

Assetのシーン部分で
[右クリック]→[作成]→[C#スクリプト]

を選択するッピ!

アイカ
アイカ

できたわ!

うさタブ
うさタブ

よくできてるッピ!

このスクリプト(プログラムの素)に
[changeShean]と名付けるッピ!

プログラムを編集する

うさタブ
うさタブ

そのまま

[changeScene]をダブルクリックして

新たにプログラムを書き込むッピよ!

うさタブ
うさタブ

Visual Studio Code などのコード編集プログラムを起動するッピ!

ユウキ
ユウキ

なんかプログラムが出てきたぞ!

うさタブ
うさタブ

いい感じッピ!

うさタブ
うさタブ

プログラムをよく見てみると

using xxxxx

という文字があることがわかるッピ!

うさタブ
うさタブ

ここは

名前空間

といって、

C#Unityのどんな機能を使うか登録する場所

なんだッピヨ~!

うさタブ
うさタブ

C#プログラムはこんな風につくられているんだッピ!

アイカ
アイカ

そうなのね!

ユウキ
ユウキ

前にやったな!

復習しとこう

うさタブ
うさタブ

準備できたッピか?

それじゃあさっそくプログラムを書いていくッピ!

うさタブ
うさタブ

using UnityEngine;

の下に、


↓の文をコピーして

using UnityEngine.SceneManagement;

と入力するッピ!

うさタブ
うさタブ

これを設定すると

using使います UnityEngineunityエンジンの.SceneシーンManagement管理プログラムを;

という意味になるんだッピ♪

ここまでのコード

入力したコード

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

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

    // Update is called once per frame
    void Update()
    {
        
    }
}
うさタブ
うさタブ

入力できたら、

    // Start is called before the first frame update
    void Start()
    {
        
    }

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

の部分を思い切って削除するッピ♪

ユウキ
ユウキ

ええ! 消しちゃっていいのか?!

うさタブ
うさタブ

そのほうが説明しやすくなるッピよ~♪

うさタブ
うさタブ

さらに削って、

1~2行目もカットするッピよ~♪

ここまでのコード

入力したコード

using UnityEngine;
using UnityEngine.SceneManagement;

public class changeScene : MonoBehaviour
{

}
アイカ
アイカ

ずいぶんスッキリしたわ・・・!

これ動くのかしら?

うさタブ
うさタブ

問題ないッピ!

うさタブを信じて進むッピネ~

ユウキ
ユウキ

頼んだぞ、うさタブ!

シーン変更プログラムを入力する

うさタブ
うさタブ

次は、この

public class の中に

    void Update()
    {
        // クリックされたら実行するプログラムです
        if (Input.GetMouseButton(0))
        {
                SceneManager.LoadScene("after");
        }
    }

と入力するッピネ!

うさタブ
うさタブ

この部分が、シーン変更プログラムになるッピ!

うさタブ
うさタブ

これは、

    void 引数なしプログラムUpdate() リアルタイム更新します
    {
        // クリックされたら実行するプログラムです
       
ifもしも (Input入力があったら.GetMouseButton マウスが押されたらプログラム実行(0 左ボタンを ))
        {
               
SceneManagerシーン切り替え.LoadSceneプログラムを実行(“after”afterを呼び出し);
        }
    }

という意味になるッピよ~

アイカ
アイカ

プログラムの分かれ道
if関数は、前のレッスンでやったね!

ここまでのコード

入力したコード

using UnityEngine;
using UnityEngine.SceneManagement;

public class changeScene : MonoBehaviour
{
    void Update()
    {
        // クリックされたら実行するプログラムです
        if (Input.GetMouseButton(0))
        {
                SceneManager.LoadScene("after");
        }
    }
}
ユウキ
ユウキ

こんな感じかな

アイカ
アイカ

バッチリね!

うさタブ
うさタブ

最高ッピ!

あとはこれをファイルで保存するッピよ~

ゲームオブジェクトを作成する

うさタブ
うさタブ

シーンを切り替えるために、
空っぽのゲームオブジェクトをつくるッピ!

アイカ
アイカ

ゲームオブジェクト?

ユウキ
ユウキ

なんだよそれ?

うさタブ
うさタブ

ゲームオブジェクトは、
ゲームの中に登場するイラストやキューブ・3Dポリゴン・選択ボタンといったものッピ~!

うさタブ
うさタブ

今回は空っぽのゲームオブジェクトをつくって、それを土台にマウスで切り替えるプログラムを仕込むッピよ~!

うさタブ
うさタブ

左のヒエラルキーの枠のなかで右クリック(または[+]ボタン)を押して、

空のオブジェクトを選択

を選択するッピよ~

ユウキ
ユウキ

オッケー!

プログラムをオブジェクトに仕込む

うさタブ
うさタブ

それじゃあ

作ったプログラムをオブジェクトに仕込んでいくっピ!

うさタブ
うさタブ

Unity画面に戻って、

[changeScene]をGame Object
ドラッグ&ドロップする

ッピ!

アイカ
アイカ

ドラッグ&ドロップってなんだったかしら?

ユウキ
ユウキ

ファイルマウスで押しっぱなしにして、

選択したファイルをマウスごと移動することだよ

アイカちゃん!

アイカ
アイカ

そうだったわ!

ありがとうユウキくんっ

アイカ
アイカ

右のインスペクターのほうに

何かでたわ!

うさタブ
うさタブ

プログラムが仕込まれた証拠ッピ!

あともう少しッピ~

シーンビルドに設定

するッピよ~

シーンをプロジェクトに登録する

うさタブ
うさタブ

追加したシーンは
そのままじゃ切り替えられないッピ!

必ずプロジェクトにシーン登録する作業が必要になるッピよ~

うさタブ
うさタブ

[ファイル]→[ビルド設定]

を選択するッピ~

うさタブ
うさタブ

作成した[after]シーンを

枠の中にドラッグ&ドロップするッピ!

うさタブ
うさタブ

こんな風に

[after]シーンが追加されたらオッケーだっピ!

動作確認

うさタブ
うさタブ

最後は動作確認ッピ~!
ゲームの上にある[▶]ボタンを押してゲームを開始するッピ!

ユウキ
ユウキ

できた~!

アイカ
アイカ

やったねユウキくんっ

Unityのマウス入力について

うさタブ
うさタブ

Unityのマウス入力には、

Inputメッソドを使うッピ!

プログラムメッソド発動条件
Input.GetMouseButtonボタンが押されていたら発動
Input.GetMouseButtonDownボタンが押された瞬間に発動
Input.GetMouseButtonUp押されたボタンが開放されたときに発動
ユウキ
ユウキ

インプットメッソド~?

って何だ?

うさタブ
うさタブ

インプットメッソドというのは、

マウスキーボードなど、外部から入力があったときに

発動するプログラムをつくるときに使うものッピ!

アイカ
アイカ

そうなのね!

うさタブ
うさタブ

そしてマウスのInputメッソドは

Input.GetMouseButton

をつかうことが多いッピね~

ユウキ
ユウキ

なあ、うさタブ

using UnityEngine;
using UnityEngine.SceneManagement;

public class changeScene : MonoBehaviour
{
    void Update()
    {
        // クリックされたら実行するプログラムです
        if (Input.GetMouseButton(0))
        {
                SceneManager.LoadScene("after");
        }
    }
}
ユウキ
ユウキ

じゃあこの、

Input.GetMouseButton(0)

(0)ってなんだ??

ユウキ
ユウキ

なんで(0)なのか、理解できないんだけど・・・

うさタブ
うさタブ

それはズバリ

引数ッピね~!

ユウキ
ユウキ

引数~??

アイカ
アイカ

引数ってなんだったかしら・・・?

わたしまだ覚えてなくて

うさタブ
うさタブ

引数というのは、
プログラムが予め仕組んだ、分かれ道条件のことだっピ!

うさタブ
うさタブ

if~~●●分かれ道の条件
{ プログラムの命令文 }

みたいなとき、
実際にその分かれ道の条件が満たされるもの変数
仕込むことができるのが引数なんだッピ!

アイカ
アイカ

ど、どういうことかしら・・・?

ユウキ
ユウキ

むずかしくてワカンネーって

うさタブ!

うさタブ
うさタブ

つまり今回みたいな

(0)なら、マウスの左クリック
マウスの左を押したら発動するプログラム

というのを組むことができるんだッピ!

引数対応するマウスの場所
(0)マウスの左ボタン
(1)マウスの右ボタン
(2)マウスのホイール
ユウキ
ユウキ

わかった!

0が左クリック、1が右クリックみたいな感じになるのか!

うさタブ
うさタブ

その通りッピ!

つまりさっきのコードも、0から1に変えると、

枝分かれの条件が右クリックを押したら~に変わってしまうんだッピよ~

using UnityEngine;
using UnityEngine.SceneManagement;

public class changeScene : MonoBehaviour
{
    void Update()
    {
        // 右クリックされたら実行するプログラムです
        if (Input.GetMouseButton(1))
        {
                SceneManager.LoadScene("after");
        }
    }
}
ユウキ
ユウキ

なるほどなー

アイカ
アイカ

勉強になったわっ!

学習のまとめ
  • Assetsの中のScenesをクリックする
  • サンプルシーンがあるのを確認
  • 左のヒエラルキー下で右クリックをし、新しくシーンを追加
  • 名前を変更
  • ファイル→ビルド設定で新しく使うシーンを追加
  • Assetの下で右クリックを押し、作成→C#スクリプト
  • スクリプトの名前を変更し、ダブルクリックで編集
  • プログラムを書き換えたら保存
  • C#プログラムドラッグ&ドロップカメラに設定
  • 動作を確認

うさタブ
うさタブ

上手くできたッピか?

これからも色んなゲーム作りやプログラムの解説をしていくッピ!

次回も楽しみにしているッピよ~~!

うさタブ
うさタブ

UnityはC#を元に作られているッピ!
まだまだ Unity や C#について勉強したい人は↓の記事を参考にするッピ♪

スポンサーリンク
スポンサーリンク
スポンサーリンク

どうしてもわからない、そんなときは?

ユウキ
ユウキ

うーん・・・

やっぱり、どうしてこーなるか良くワカンナイな~

説明を聞いたすぐはわかったつもりなんだけどさ

アイカ
アイカ

そうね・・・わたしも

すぐに復習できる環境じゃないから

宿題とか困っちゃうわ・・・

ユウキ
ユウキ

他に気軽に教えてくれる先生とかいるといいんだけどな~

うさタブ
うさタブ

フムフム!

そんなときは、プログラミング講座がオススメッピね~

アイカ
アイカ

そんなのあるのか?

ていうかドコいけばいいんだよ

うさタブ
うさタブ

それなら、やっぱり一番安心自宅でできる動画教材がよいッピ!

うさタブ
うさタブ
テレビCMでも話題の有名教材
Udemyとかどうッピか?

 

うさタブ
うさタブ
Udemyは、HTMLからJavaScript
人気の機械学習からUnityゲーム講座まで選び放題ッピ!

うさタブ
うさタブ

買い切り講座だから
いつでも勉強し放題、動画制作や難しいマーケティングなんかも勉強できるッピ~!

ユウキ
ユウキ

へえ~、こんなのがあるのか

うさタブ
うさタブ

ちびっこのみんなは、キュレオプログラミング教室がオススメッピ!

実際の教室で自分以外の同い年と一緒に勉強することで、自分も負けないゾ!と思えておサボりを防ぐことができるッピ!
さらに、クラスのみんなと差をつけてすごいプログラムが作れちゃうッピ

教室名 対象 学習言語 教室場所 無料体験・カウンセリング
Udemy 学生~社会人 Unity
HTML/CSS
JavaScript
MySQL
Python等
オンライン講座
コース買い切り
講座によってサンプル○
Unityゲーム講座アリ
 

「QUREOプログラミング教室」

小学2年生〜中学3年生 Scratch 全国各地
2500教室
無料体験◯
【LITALICOワンダー】 小学1年生〜高校生 Scratch
Unity C#
HTML / CSS
JavaScript
東京都,神奈川,埼玉県,千葉
オンライン
無料体験◯
3Dプリントなどの講座によっては別途料金

ユウキ
ユウキ

よーし、ちょっと体験だけでもやってみるか!

アイカ
アイカ

わたしもさっそくチェックしてみようかな♪

スポンサーリンク

どうしてもわからない、そんなときは?

ユウキ
ユウキ

うーん・・・

やっぱり、どうしてこーなるか良くワカンナイな~

説明を聞いたすぐはわかったつもりなんだけどさ

アイカ
アイカ

そうね・・・わたしも

すぐに復習できる環境じゃないから

宿題とか困っちゃうわ・・・

ユウキ
ユウキ

他に気軽に教えてくれる先生とかいるといいんだけどな~

うさタブ
うさタブ

フムフム!

そんなときは、プログラミング講座がオススメッピね~

アイカ
アイカ

そんなのあるのか?

ていうかドコいけばいいんだよ

うさタブ
うさタブ

それなら、やっぱり一番安心自宅でできる動画教材がよいッピ!

うさタブ
うさタブ
テレビCMでも話題の有名教材
Udemyとかどうッピか?

うさタブ
うさタブ
Udemyは、HTMLからJavaScript
人気の機械学習からUnityゲーム講座まで選び放題ッピ!

うさタブ
うさタブ

買い切り講座だから
いつでも勉強し放題、動画制作や難しいマーケティングなんかも勉強できるッピ~!

ユウキ
ユウキ

へえ~、こんなのがあるのか

うさタブ
うさタブ

ちびっこのみんな、キュレオプログラミング教室を受けて
自分以外の同い年と一緒に勉強することで、自分も負けないゾ!と思えて
おサボりを防ぐことができるッピ!
さらに、クラスのみんなと差をつけてすごいプログラムが作れちゃうッピ

先生やパパママにほめられて、学習効率が最高にグングン↑↑ッピよ~~♪

うさタブ
うさタブ

未来都市キュレオを舞台に、魅力的なキャラクターがたくさん登場する・ゲーム感覚で楽しく学べるプログラミング教室ッピ!

困ったことも先生に直接聞けるのが最高ッピ~!

うさタブ
うさタブ

全国2500教室もあるから、

きっとみんなの近くにも教室があるッピ。

公式サイト近くに教室があるかチェックしてみるとよいッピ!

ユウキ
ユウキ

なんだこれ! スゲーなっ

ゲームみたいにやってるうちに、自然と勉強できてるみたいな感じ?

アイカ
アイカ

そんなものがあるのねっ!

うさタブ
うさタブ

ロボットをプログラミングしてみるなら

LITALICOワンダーがオススメッピ!

JavaScriptも勉強できるッピよ~!

教室名 対象 学習言語 無料体験/教室場所
Udemy 学生~社会人 Unity
HTML/CSS
JavaScript
MySQL
Python等
オンライン講座
講座によってサンプル○
「QUREOプログラミング教室」
小学2年生〜中学3年生 Scratch 教室によって無料体験◯
全国各地の教室
【LITALICOワンダー】 小学1年生〜高校生 Scratch
Unity C#
HTML / CSS
JavaScript
無料体験◯
3Dプリントなどの講座によっては別途料金
東京周辺
オンライン

ユウキ
ユウキ

よーし、ちょっと体験だけでもやってみるか!

アイカ
アイカ

わたしもさっそくチェックしてみようかな♪

Unityプログラミング
学んで遊んでジャンケンポン!
タイトルとURLをコピーしました