15分で学ぶ Unityでボタンを扱うには?
今回はUnityでボタンを扱う方法を解説していきます。
これからUnityを触る人向けに解説していますので、
Unityを触ったことがない未経験の人でもOKです。
Unityははじめは難しく感じるかも知れませんが、
とても扱いやすく便利な開発エンジンです。
さて、では早速初めて行きます。
Unityでボタンを扱うといっても、かなり幅広いので、
今回はかなりシンプルに、ボタンを押すと文字が変わるというものに
してみましょう。
以下のようなイメージです。
”押してね”というボタンを押すと、
”こんにちは!”の文字を、
”ボタンが押されました。”という文字列へ変更させてみます。
ちなみに、この画面はテキストとボタンを配置して、
大きさだけ調整しただけのシンプルな画面です。
では、早速ボタンを押して文字列を変更する方法について解説します。
2 Unity上で、変数や関数を登録する。
3 完成。動作確認。
ざっと以上の手順となります。
ひとつひとつ詳しく解説していきます。
1 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上で、変数や関数を登録する。
アタッチする必要がありますが、ここでは簡単にキャプチャを掲載しておきます。
一応やることを箇条書きにすると、
①空のゲームオブジェクトを作成
②作成したゲームオブジェクトへWordChange.csをアタッチ
③ゲームオブジェクトのインスペクターにWordという変数があるので、
そこに変更したいテキストをアタッチ
④ボタンのインスペクターからOn Click()を登録
+ボタンをおして、ゲームオブジェクトをアタッチして、
登録する関する選ぶ(今回は、ChangeWord())
※③までが終わった後のキャプチャ
※④まで終わった後のキャプチャ
以上で、2 Unity上で、変数や関数を登録する。は完了です。
3 完成。動作確認。
それでは、完成となりますので、動作確認をしてみましょう。
ボタンを押して後に文字列が以下のように変更したらOKです。