回答編集履歴
1
警告が表示される理由についての文章を追加
test
CHANGED
@@ -1,4 +1,10 @@
|
|
1
|
-
|
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
|
|