2017-09-06 16 views
0

で公開されていません。起動時にプレイヤー名を設定する必要があるスクリプトがあります。 OKを押すと、それはメインメニューに行き、プレイヤーの名前が表示されるBoxInfoを持ちます。プレイヤーの名前がUnity3d/C#

しかし、それは働きたくないようです。私は何か間違っているのですか?

ここ

は、コードからの重要な部分です:階層内

public Text PlayerNameText; 
public Text ErrorPlayerNameText; 
public InputField PlayerNameInput; 

    public void SetPlayerName() 
    { 
     if (string.IsNullOrEmpty(PlayerNameInput.text)) 
     { 
      ErrorPlayerNameText.CrossFadeAlpha(1, 0.7f, true); 
      return; 
     } 

     ErrorPlayerNameText.CrossFadeAlpha(0, 0.5f, true); 
     PlayerPrefs.SetString(UMW_Keys.PlayerName, PlayerNameInput.text); 

#if UNITY_5_2 || UNITY_5_3 || UNITY_5_4 
     int nameSize = 10; 
#else 
     int nameSize = 40; 
#endif 
     PlayerNameText.text = string.Format("PLAYER NAME: <size=" + nameSize + "><color=#00ffd8>{0}</color></size>", PlayerNameInput.text); 
     Manager.GoToWindow("MainMenu"); 
    } 

BoxInfoゲームオブジェクトは、UIのレイヤーを持っており、テキスト(スクリプト)とテキストとテキストと呼ばれる子ゲームオブジェクトがあります。 「PLAYERを名前: マイ・ネーム "

私がコードを逃した場所はわかりませんが、理論的にはすべて正常に動作するはずです。

事前に感謝

+0

ええと、 "string testName =" testName "を追加してPlayerNameInput.textをtestNameに置き換えても問題なく解決しましたが、どちらもうまくいきませんでした。 – papi

答えて

0

ネヴァーマインド-_- は、ソリューションを自分自身を発見しました。

int nameSize 

大きすぎてUnityのUIに表示されませんでした。 lol

関連する問題