Standard Assetsのチョー簡単なチュートリアルでGUITexture' is obsoleteってエラーに会いましたよって話

今日はUnityのチュートリアルで思いもしなかったエラーに会いましたよって話です。

参考のチュートリアルはこちら

チュートリアルの内容はリンク先がとっても詳しく、初学者でも転ばないように解説していますのでそちらを参考にしてください。

僕の記事では遭遇したエラーの話をします。

(念のためこんなチュートリアルでした)

チュートリアルなのにエラーって。。。

プログラムが全く初めての人はこう思っちゃいますよね。それで心折れちゃう。。。

そんな人を救いたくて記事にしてます。

今回起きたエラーはこちら!の前にまずエラーがどこに出るか説明しますね


こちら(Unityの画面)!!

画像1


するとバーン!!

画像2

今出ているエラーが見えましたね。

基本的にはこのエラーがすべて消えればチュートリアルは問題なく実行できるはずですし、

今後も何かおかしいと思ったらまずエラーが出ていないか確認しましょう。

あと出ているエラーでググることも大事なポイントです


そしてググると出てくる回答

ググるとこちらですでに回答してくださっている方を見つけました!

本当に感謝です!!


ふむふむ、ForcedReset.csとSimpleActivatorMenu.csを直してくださいとあります。


直す前にスクリプトファイルの見つけ方

ForceReset.csとSimpleActivatorMenu.csどこにあんねん!って人は↓を見てくださいね。

画像3

はい。これで出てきたファイルを上の回答者さんが言うように直していきましょ


ForcedReset.cs

using System;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
using UnityStandardAssets.CrossPlatformInput;
#pragma warning disable 618
[RequireComponent(typeof (Image))]   //typeofをGUITextureからImageに変更!!!
public class ForcedReset : MonoBehaviour
{
   private void Update()
   {
       // if we have forced a reset ...
       if (CrossPlatformInputManager.GetButtonDown("ResetObject"))
       {
           //... reload the scene
           SceneManager.LoadScene(SceneManager.GetSceneAt(0).name);
       }
   }
}

SimpleActivatorMenu.cs

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;  //ここのGUITextをTextに
       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;
       }

       public void NextCamera()
       {
           int nextactiveobject = m_CurrentActiveObject + 1 >= objects.Length ? 0 : m_CurrentActiveObject + 1;
           for (int i = 0; i < objects.Length; i++)
           {
               objects[i].SetActive(i == nextactiveobject);
           }
           m_CurrentActiveObject = nextactiveobject;
           camSwitchButton.text = objects[m_CurrentActiveObject].name;
       }
   }
}


エラーが消えました!

どうでしょうか。消えましたか?

消えなかったという方はエラーメッセージトともにコメントください。

聞くことを恐れないでくださいね。

いいなと思ったら応援しよう!