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

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

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

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

Q&A

1回答

957閲覧

Unity別のインスペクターにあるスクリプトを呼び出す方法

Chibichan

総合スコア72

C#

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

0グッド

0クリップ

投稿2021/05/07 08:12

九九のゲームを作ってまして、正解だと花火があがるようにしたいのです。クエスチョンマネージャーにある答えとプレイヤーの答えがあったらというIf文をスポーンマネージャーで作ってみたのですが、間違っているようでエラーがでます。どうやって呼び込んだらいいのでしょうか?
スポーンマネージャーのTextは、プレイヤーが入力するゲームオブジェクトです。
どうぞよろしくお願いいたします。

クエスチョンマネージャーのスクリプト public class QuestionManager : MonoBehaviour { [Header("Questions")] [SerializeField] QuestionDataList[] questionDataLists; [Header("Question UI")] [SerializeField] Text questionText = null; [Header("Question UI")] [SerializeField] Text answerText = null; private int questionNumber; private void Start() { SetupQuestion(); } private void SetupQuestion() { questionNumber = Random.Range(0, 81); questionText.text = questionDataLists[questionNumber].GetQuestion(); } private void SetupAnswer() { answerText.text = questionDataLists[questionNumber].GetAnswer(); } public void QuestionButton() { SetupQuestion(); } public void AnswerButton() { SetupAnswer(); } public void ClearText() { answerText.text = ""; } }
public class SpawnManager : MonoBehaviour { public GameObject[] firePrefabs; void Update() { if (QuestionManager.GetComponent<QuestionManager>().AnswerText == Text.GetComponent<Text>()) { int fireIndex = Random.Range(0,3); Instantiate(firePrefabs[fireIndex], new Vector2(0, 235), firePrefabs[fireIndex].transform.rotation); } } } コード

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

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

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

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

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

guest

回答1

0

エラーコードを書いたほうがいいと思います

cs

1public class SpawnManager : MonoBehaviour 2{ 3 public GameObject[] firePrefabs; 4 void Update() 5 { 6 // ↓ こいつ // 7 if (QuestionManager.GetComponent<QuestionManager>().AnswerText == Text.GetComponent<Text>()) 8 { 9 int fireIndex = Random.Range(0,3); 10 Instantiate(firePrefabs[fireIndex], new Vector2(0, 235), firePrefabs[fireIndex].transform.rotation); 11 } 12 } 13}

これのQuestionManagerはどっから来たんでしょう? これで参照取れてますか?

投稿2021/05/07 09:33

hogefugapiyo

総合スコア3302

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

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

Chibichan

2021/05/07 09:58

QuestionManagerは、ゲームオブジェクトの名前です。エラーコードとは、!=のことですか?初心者すぎてすいません。いろんなサイトをググってみて、見つけたのが、呼び込むときは、「ゲームオブジェクト名.Get Component<スクリプト名>().スクリプトの中のメソッド」と言うのですが、間違っていますか? SpawnManagerは、SpawnManagerというゲームオブジェクトを作って、そこに同名のスクリプトを張り付けて、QuestionManagerスクリプトにも同名のゲームオブジェクトを作って貼り付けました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問