🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
C#

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

UI

UIはUser Interfaceの略であり、人間がコンピュータとやりとりをするためのシステムです。

button

HTMLで用いる<button>タグです。

Unity

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

Q&A

解決済

2回答

855閲覧

NullReferenceException: Object reference not set to an instance of an object MathAndAnswer.Main ()

EllyTakayama

総合スコア2

C#

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

UI

UIはUser Interfaceの略であり、人間がコンピュータとやりとりをするためのシステムです。

button

HTMLで用いる<button>タグです。

Unity

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

0グッド

0クリップ

投稿2021/02/16 04:13

編集2021/02/16 04:45

NullReferenceException: Object reference not set to an instance of an object MathAndAnswer.Main () のエラーメッセージが出てアプリが動作せず困っています。以下の行がエラー範囲に指定されておりました。

QuesAvalue.text = "" + a;

Unity初心者です。
かけざんアプリを作りたいと思いScriptを作成していましたが期待通り動作せず困っています。
ValueA,ValueB Textへの代入は行われるのですが、answerへの代入結果がconsoleに表示されない、解答ボタンへのランダムな数字の代入が行われないなどの不具合があります。
数日調べたのですが、自力ではわからず、お手数ですが宜しくお願い致します。

エラーメッセージ
NullReferenceException: Object reference not set to an instance of an object MathAndAnswer.Main ()

該当のソースコード

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using System;

public class MathAndAnswer : MonoBehaviour
{

//2 private floats this are the question values a and b private int a, b ; //the variable for answer value [HideInInspector] public int answer; //varible whihc will assign ans to any one of the 4 answer button private int locationOfAnswer; //ref to the button public Button[] Ans; //get the tag of button public string tagOfButton; //ref to text in scene where we will assign a and b values of question public Text QuesAvalue; public Text QuesBvalue; void Awake() { } // Start is called before the first frame update void Start() { } // Update is called once per frame void Update() { tagOfButton = locationOfAnswer.ToString(); } void Main(){ a = 1; b = UnityEngine.Random.Range(1,10); answer = a * b; QuesAvalue.text = "" + a; QuesBvalue.text = "" + b; Console.WriteLine(answer); locationOfAnswer = UnityEngine.Random.Range(0, Ans.Length); } }

言語 C#

宜しくお願い致します。

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

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

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

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

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

guest

回答2

0

ベストアンサー

スクリプトを貼り付けたインスペクタの QuesAvalue プロパティの値がNULLなのではないでしょうか?

public Text QuesAvalue;

インスペクタのプロパティ値を設定するか、スクリプト内で初期化しましょう。

投稿2021/02/17 18:21

kamikaze.cappa

総合スコア558

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

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

EllyTakayama

2021/02/19 02:24

有難うございます! 調べて対応してみます!
guest

0

どこでエラーが出ているのかは不明ですが、NullReferenceExceptionということで、呼び出し元の変数がそもそもnullである可能性が高いです。
そのため、まずは呼び出した箇所で変数が適切に設定されているか確認してみてください。

投稿2021/02/16 04:42

yuuyu

総合スコア1139

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

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

EllyTakayama

2021/02/19 02:23

有難うございます。nullチェックなど調べて対応します。アドバイス有難うございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問