回答編集履歴

1

警告が表示される理由についての文章を追加

2018/01/29 21:59

投稿

Bongo
Bongo

スコア10807

test CHANGED
@@ -1,4 +1,10 @@
1
- 多くのスクリプトはゲームオブジェクトにアタッチして使用するので[MonoBehaviour](https://docs.unity3d.com/ScriptReference/MonoBehaviour.html)継承が必要すがの`Sound`クラスはアタッチせず単独で使うよう設計されている様子です。ですので、`MonoBehaviour`の継承をしいよう書き換えてみてはいかがでしょう
1
+ [MonoBehaviour](https://docs.unity3d.com/ScriptReference/MonoBehaviour.html)継承したクラスある`Sound`を`GetInstance`内の`return _singleton ?? (_singleton = new Sound());`の部分[new](https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/keywords/new-operator)使って新規生成ることにる警告でしょう。
2
+
3
+ `MonoBehaviour`の生成は基本的にUnityの管理下にあるので、勝手に`new`で生成されてしまうと都合が悪いため、警告を表示しているものと思われます。
4
+
5
+
6
+
7
+ 多くのスクリプトはゲームオブジェクトにアタッチして使用するので`MonoBehaviour`の継承が必要ですが、この`Sound`クラスはアタッチせず単独で使うよう設計されている様子です。ですので、`MonoBehaviour`の継承をしないよう書き換えてみてはいかがでしょうか。
2
8
 
3
9
 
4
10