15分で学ぶ Unityでボタンを扱うには?

今回はUnityでボタンを扱う方法を解説していきます。
これからUnityを触る人向けに解説していますので、
Unityを触ったことがない未経験の人でもOKです。
 
Unityははじめは難しく感じるかも知れませんが、
とても扱いやすく便利な開発エンジンです。
 
 
さて、では早速初めて行きます。
 
 
Unityでボタンを扱うといっても、かなり幅広いので、
今回はかなりシンプルに、ボタンを押すと文字が変わるというものに
してみましょう。
 
以下のようなイメージです。
”押してね”というボタンを押すと、
”こんにちは!”の文字を、
”ボタンが押されました。”という文字列へ変更させてみます。
 
 
 
 
 
ちなみに、この画面はテキストとボタンを配置して、
大きさだけ調整しただけのシンプルな画面です。
 
 
 
では、早速ボタンを押して文字列を変更する方法について解説します。
 
1 C#スクリプトへ文字列を変更する関数を記述する。
2 Unity上で、変数や関数を登録する。
3 完成。動作確認。
 
 
ざっと以上の手順となります。
ひとつひとつ詳しく解説していきます。
 
 

1 C#スクリプトへ文字列を変更する関数を記述する

まずは、C#スクリプトを作成します。スクリプト名はなんでもいいですが、
今回は、適当にWordChangeという名前で作成してみます。
 
 
 
 
作成したら以下のコードを貼り付けてください。
 
‘’’cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
 
public class WordChange : MonoBehaviour
{
public Text word;
 
public void ChangeWord()
{
    word.text = "ボタンが押されました。";
}
 
}
‘''
 
簡単にスクリプトのポイントを3つほど解説をすると、
①UnityEngine.UIについて。
これは、スクリプトでUIパーツを扱うために記述する必要があります。
今回は、テキストというUIパーツの一部を扱うために記述しています。
 
②public Text wordについて
これは、Unity上から変数を登録する為に記述しています。
publicというのがその役割となります。
それで、wordという名前のテキストオブジェクトを宣言しています。
 
これで、このスクリプトがついたオブジェクトへUnityのパーツをアタッチできるようになりますがこれに関しては後述します。
 
③word.textについて
これは、プロパティを変更する記述です。
テキストオブジェクトにはいろいろなプロパティが存在しますが、
その一部にテキストの文字列があります。
それが、変数名.textということになります。
 
今回は文字列を変更したい為、ここをいじることで
任意の文字列へ変更することができます。
 
 
はい、以上がスクリプトの簡単な解説でした。
 
 
 

2 Unity上で、変数や関数を登録する。

さて、スクリプトが完成したら次はUnity上で、変数やスクリプトなどを
アタッチする必要がありますが、ここでは簡単にキャプチャを掲載しておきます。
一応やることを箇条書きにすると、
 ①空のゲームオブジェクトを作成
 ②作成したゲームオブジェクトへWordChange.csをアタッチ
 ③ゲームオブジェクトのインスペクターにWordという変数があるので、
  そこに変更したいテキストをアタッチ
 ④ボタンのインスペクターからOn Click()を登録
  +ボタンをおして、ゲームオブジェクトをアタッチして、
  登録する関する選ぶ(今回は、ChangeWord()
 
 
※③までが終わった後のキャプチャ
 
 
 
 
※④まで終わった後のキャプチャ
 
 
 
 
 
以上で、2 Unity上で、変数や関数を登録する。は完了です。
 
 
 

3 完成。動作確認。

それでは、完成となりますので、動作確認をしてみましょう。
ボタンを押して後に文字列が以下のように変更したらOKです。