teratail header banner
teratail header banner
質問するログイン新規登録

質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.30%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

解決済

1回答

733閲覧

Unityの教科書2021 Unity2021完全対応版(猫本)のエラー解決策を知りたいです。

uni9292

総合スコア2

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

0クリップ

投稿2023/08/16 15:47

編集2023/08/16 15:52

0

0

実現したいこと

Unityの教科書2021 Unity2021完全対応版(猫本)を使っているのですが、
何度もコードを見直してテキスト通りに記述しているのにエラーが出てしまいます。
解決策を伺いたいです。

前提

本書では、Unityのバージョンが2021.1.3f1を使用していますが
私が使用しているバージョンは2021.3.3f1です。

内容

【4-6-1 UIを書き換えるスクリプトを作る】の章にてエラー発生

発生している問題・エラーメッセージ

Assets\GameDirector.cs(24,36): error CS0246: The type or namespace name 'Text' could not be found (are you missing a using directive or an assembly reference?)

該当のソースコード

C#

1ublic class GameDirector : MonoBehaviour 2{ 3 GameObject car; 4 GameObject flag; 5 GameObject distance; 6 7 8 // Start is called before the first frame update 9 void Start() 10 { 11 this.car = GameObject.Find("car"); 12 this.flag = GameObject.Find("flag"); 13 this.distance = GameObject.Find("distance"); 14 } 15 16 // Update is called once per frame 17 void Update() 18 { 19 float length = this.flag.transform.position.x - this.car.transform.position.x; 20 this.distance.GetComponent<Text>().text = "ゴールまで" + length.ToString("F2") + "m"; 21 } 22}

試したこと

教科書では、UIを作成する際にヒエラルキーから「Text」を選んでいるのですが、私の使用しているバージョンでは「古い機能」の中にTextが格納されていた為、そこからTextのオブジェクトを作成しました。
しかし、Visual Studio上で this.distance.GetComponent<Text>();の <Text>の所にエラーが出ているようでしたので、Text型のオブジェクトが参照できないバージョンになっているのかと思い、Textmeshのオブジェクトを作り直して、エラー箇所に<Textmesh>と入力したのですがやはり上手く行かない状態です。

2022.1.1f1を使っても同じエラーが出て進めませんでした。
2021バージョンをやはりバージョンを併せるしか解決策が無いのでしょうか?
原因と解決策を知りたいです。よろしくお願い致します。イメージ説明イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

4-6ですね。
サンプルコードを1行目からよく読んでください。

using System.Collection; using System.Collection.Gegneric; using UnityEngine; using UnityEngine.UI // UI部品を扱うために必要!

投稿2023/08/16 16:21

UnchFullburst

総合スコア669

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

uni9292

2023/08/16 23:49

UnchFullburst様 回答ありがとうございます。 失礼しました。そこは意識して見れていませんでした。 今日は難しいのですが、明日早速追記してみます! また結果を書かせて頂きます。
uni9292

2023/08/18 12:59

UnchFullburst様 記載して頂いた部分を追記したところ、問題無く動くようになりました。 ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.30%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問