kou0713
@kou0713

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

Unity 初心者 

上記サイトを真似しました。

入力させた文字をXとするなら、
別のシーンで、
私の名前は、Xです。 というテキストを出したいです。

初心者ですみません。上記サイトのケースで教えていただけませんか。
どこかにパブリックスタティックをつけるのでしょうか。
上記サイト手順と、別シーンを作るところまでできました。

0

1Answer

シーン間での簡易な受け渡しについて

まず、入力側のシーンで、(記事で「ここではMainCameraにアタッチしておきます」と書かれている)スクリプトを以下のように追加(x1)、書き換え(x2)ます。

InputFieldManager.cs
// ~ 省略 ~

public class InputFieldManager : MonoBehaviour
{
    // 静的メンバー
    public static string PlayerName; // 【追加】


    // ~ 省略 ~


    //入力された名前情報を読み取ってコンソールに出力する関数
    public void GetInputName()
    {
        //InputFieldからテキスト情報を取得する
        PlayerName = inputField.text; // 【書き換え】
        Debug.Log(PlayerName); // 【書き換え】


        // ~ 省略 ~

    }
}

以下の新しいスクリプトを作って、同じように表示側のシーンにアタッチしてください。

OutputManager.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class OutputManager : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {
        // InputFieldManagerから名前を取得する
        Debug.Log(InputFieldManager.PlayerName);
    }
}

シーンが切り替わると、入力された名前がコンソールに出力されるハズです。

0Like

Comments

  1. @kou0713

    Questioner

    ありがとうございます。
    おかげさまでもう少しでできそうです。
    テキストとして、プレイヤーネーム+です。のように画面表示したい場合は、写真二枚目のデバッグログをいじるのでしょうか?
    もう少しなので、自分でも調べてみます。
    ありがとうございます。
  2. @kou0713

    Questioner

    [SerializeField]というのを使ってできました。ありがとうございました。

Your answer might help someone💌