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

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

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

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

Null

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

Q&A

解決済

2回答

549閲覧

MissingReferenceException 

Fuwa

総合スコア49

C#

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

Null

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

0グッド

0クリップ

投稿2022/01/18 20:46

編集2022/01/19 04:40

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

エラー内容
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(); }

}

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

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

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

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

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

guest

回答2

0

自己解決

エラーを解決しました

投稿2022/01/19 17:58

Fuwa

総合スコア49

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

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

0

google翻訳
MissingReferenceException: タイプ 'EnamyManager'のオブジェクトは破棄されましたが、まだアクセスしようとしています。

だそうですよ

投稿2022/01/18 22:41

y_waiwai

総合スコア87774

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

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

Fuwa

2022/01/18 23:12 編集

ご返事りがとうございます それは理解してるのですがのその治し方を教えて頂ければ助かります。
y_waiwai

2022/01/19 02:14

それを質問に書こうよ
y_waiwai

2022/01/19 02:26

そのエラーが出た行はどこなんでしょうか。 その行を注目して、このエラーメッセージの意味を考えると自ずとなにがまずいかってのは出てくると思いますが
Fuwa

2022/01/19 04:17

すみませんでした。
Fuwa

2022/01/19 04:50 編集

質問の方変えました。 EnamyManagerの47行目のInstantiate(hitEffect, this.transform, false);、 EnamyManagerの48行目のInstantiate(hitEffect, this.transform, false);、 PlaterManagerの19行目のint damage = enamy.Damage(at);
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問