UnityにおけるThirdPesronCharactorのエラーに対策


ThirdPersonCharactorを使おう

エラー内容

エラー文

ThirdPersonCharactorを使おうとしたところ次の様なエラーが出た。

Assets/Standard Assets/Utility/SimpleActivatorMenu.cs(11,16): error CS0619: 'GUIText' is obsolete: 'GUIText has been removed. Use UI.Text instead.'

詰まるところ、
GUITextが消去されたから、代わりにUI.Textを使えということの様だ。

エラー内容

実際にプログラムを見てみると、

using System;
using UnityEngine;

#pragma warning disable 618
namespace UnityStandardAssets.Utility
{
    public class SimpleActivatorMenu : MonoBehaviour
    {
        // An incredibly simple menu which, when given references
        // to gameobjects in the scene
        public GUIText camSwitchButton;
        public GameObject[] objects;


        private int m_CurrentActiveObject;


        private void OnEnable()
        {
            // active object starts from first in array
            m_CurrentActiveObject = 0;
            camSwitchButton.text = objects[m_CurrentActiveObject].name;
        }

実際にはもっと続いているが、今回問題となる場所のみを取り出してきた。
次に、どこが問題なのかを調べた。

対処法

対処法を調べたところ、次のサイトに乗っていた。

要約すると、
上のプログラム中で、GUITextとなっている部分をTextに変えれば良いとのことだ。
また、それに付随して

Using UnityEngine.UI;

の一文も追加すると動いてくれるらしい。

using System;
using UnityEngine;

using UnityEngine.UI;

#pragma warning disable 618
namespace UnityStandardAssets.Utility


{
    public class SimpleActivatorMenu : MonoBehaviour
    {
        // An incredibly simple menu which, when given references
        // to gameobjects in the scene
        public Text camSwitchButton;
        public GameObject[] objects;


        private int m_CurrentActiveObject;


        private void OnEnable()
        {
            // active object starts from first in array
            m_CurrentActiveObject = 0;
            camSwitchButton.text = objects[m_CurrentActiveObject].name;
        }

Unityの方を確認すると、確かにエラーが消えていることが分かる。

蛇足

Using UnityEngine.UI;

の一文を追加しないと、

Assets/Standard Assets/Utility/SimpleActivatorMenu.cs(15,16): error CS0246: The type or namespace name 'Text' could not be found (are you missing a using directive or an assembly reference?)

というエラーが出てくる。
つまり、Textが見つからないという感じなので、先の文を追加してあげる必要がある。