ひとつのスクリプトで多数のオブジェクト管理する
オブジェクトごとにスクリプトを生成する方法ではオブジェクト間(スクリプト間)での値のやり取りがとても面倒くさい。
そのため、ひとつのスクリプトで多数のオブジェクトを管理する方法を記載する。
まずいつも通り
- Crate Emptyで空のオブジェクト生成
- Input Field生成
- Button生成
を行う。Create EmptyしたGame Objectは名前をAdminにしておく(何でもよいが分かりやすくするため)。
AdminオブジェクトでAdd ComponentしてNew Scritpを生成する(スクリプト名は今回はAdminScriptとする)。
以下のようにアタッチする。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
// これ追加忘れずに
using UnityEngine.UI;
public class AdminScript : MonoBehaviour
{
// publicにしないとダメ
public InputField input_field_id;
// 入力した文字列保存用
private string input_txt;
// input fieldでの入力判定
public void InputID()
{
input_txt = this.input_field_id.text;
print(input_txt);
}
// ボタンが押された時の処理
public void LoginButtonPush()
{
if (input_txt == "abc")
{
print("正解です。");
}
else
{
print("不正解です。");
}
}
}
Adminオブジェクトのスクリプト内のメンバ変数input_filed_idにInputFIledオブジェクトを対応付けする。
これで実行してinputFieldにabcを入力してButtonを押すと"正解です。"と出力され、それ以外を入力した場合は"不正解です。"と出力される。
このように、Adminオブジェクトに対応させたAdminScriptひとつでインプットフィールドとボタンのオブジェクトが操作できるようになる。
参考
Author And Source
この問題について(ひとつのスクリプトで多数のオブジェクト管理する), 我々は、より多くの情報をここで見つけました https://qiita.com/ReoNagai/items/1559fa715736a9819d29著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .