発生したエラー
現在、こちらのサイトを参考にUnityでカードゲームの作り方の勉強をしています。
基本的に完全にコピペで作成していってるので、つまずくことは少ないのですが、一部、環境の違いでエラーが出てきています。その一部が表題の通り、データ型にTextを宣言したらエラーが発生する状態になっていました。
■ソースコードイメージ
■Consoleでエラー発生
参考:C#の変数宣言について
勉強中の身なので、覚えることも兼ねて備忘を。C#の型番宣言では、[private int num = ]のように、アクセス修飾子 データ型 変数名という順番で変数を宣言します。
本記事で話題にしているText、TextMeshProUGUIはデータ型になりますので、[[SerializeField] Text nameText]のように二番目のところに記載します。
基本、Pythonしかやってきていない人間なので、アクセス修飾子とデータ型は慣れるまで時間がかかりそうです。
対応
もう表題に書いた通りなのですが、基本的にTEXTをTextMeshProUGUIに変えるだけです。
using TMPro;を入れるのを忘れずに。
■コード例
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using TMPro;
public class CardView : MonoBehaviour
{
[SerializeField] TextMeshProUGUI nameText, powerText, costText;
(以下、略)
これで動くようになりました。
■修正後のコンソール
どうやらTextMeshProを使っているとこの対応が必要なようです。自分の場合、TextのデフォルトがTextMeshProだったので、最新のバージョンだとこの対応が必要なのかもしれません。
コメント