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

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

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

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

Null

Nullとは、プログラミング言語やデータベースにおけるデータ表現の一種です。コンテキストによって"空"もしくは"長さ0の文字列"、”未知・不明”を意味します。

解決済

MissingReferenceException 

Fuwa
Fuwa

総合スコア46

C#

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

Null

Nullとは、プログラミング言語やデータベースにおけるデータ表現の一種です。コンテキストによって"空"もしくは"長さ0の文字列"、”未知・不明”を意味します。

2回答

0評価

0クリップ

228閲覧

投稿2022/01/18 20:46

編集2022/01/20 02:58

中学一年生です、
このエラーを教えて頂いたら助かります。

エラー内容
MissingReferenceException: The object of type 'EnamyManager' has been destroyed but you are still trying to access it.
Your script should either check if it is null or you should not destroy the object.

//
EnamyManager

private void Awake() { sphere = GameObject.Find("Sphere "); } //タップアクション //関数登録 Action tapAction; // クリックされたときに実行したい関数(外部から設定したい ) public new string name; public int hp; public int at; public GameObject hitEffect; //攻撃関数 public int Attack(PlaterManager player) { int damage = player.Damage(at); return damage; } // ダメージ受ける関数 public int Damage(int damage) { //プレハブの生成 親にするを設定する Instantiate(hitEffect, this.transform, false); //振動させる //0.3秒振動させる0.5f振動具合20振動させる transform.DOShakePosition(0.3f,0.5f , 20, 0, false, true); hp -= damage; Debug.Log("EnamyのHPは" + hp); if(hp <= 0) { hp = 0; } return damage; } //tapActionに関数を登録する関数 public void addEventListenerOnTap(Action action) { tapAction += action; } //クリックしたら public void OnTap() { Debug.Log("クリックされた"); tapAction(); }

Eanamy2

//タップアクション //関数登録 Action tapAction; // クリックされたときに実行したい関数(外部から設定したい ) public bool sphereBool = false; public new string name; public int hp; public int at; public GameObject hitEffect; //攻撃関数 public int Attack(PlaterManager player) { int damage = player.Damage(at); return damage; } // ダメージ受ける関数 public int Damage(int damage) { //プレハブの生成 親にするを設定する Instantiate(hitEffect, this.transform, false); //振動させる //0.3秒振動させる0.5f振動具合20振動させる transform.DOShakePosition(0.3f, 0.5f, 20, 0, false, true); hp -= damage; Debug.Log("EnamyのHPは" + hp); hp -= damage; Debug.Log("EnamyのHPは" + hp); if (hp <= 0) { hp = 0; } return damage; } //tapActionに関数を登録する関数 public void addEventListenerOnTap(Action action) { tapAction += action; } //クリックしたら public void OnTap2() { Debug.Log("クリックされた"); tapAction(); }

PlaterManager
//

//攻撃関数
public int Attack(EnamyManager enamy)
{

int damage = enamy.Damage(at); return damage; } public int Attack2(Eanamy2 eanamy2) { int damage = eanamy2.Damage2(at); return damage; } // ダメージ受ける関数 public int Damage(int damage) { hp -= damage; Debug.Log("PlayerのHPは" + hp); if (hp <= 0) { hp = 0; } return damage; } internal int Attack(Eanamy2 eanamy2) { throw new NotImplementedException(); }

}

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

まだ回答がついていません

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

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

同じタグがついた質問を見る

C#

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

Null

Nullとは、プログラミング言語やデータベースにおけるデータ表現の一種です。コンテキストによって"空"もしくは"長さ0の文字列"、”未知・不明”を意味します。