teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

4

削除

2018/07/25 06:33

投稿

IShix
IShix

スコア1729

answer CHANGED
@@ -39,23 +39,4 @@
39
39
  [SerializeField] ParticleSystem hosi;
40
40
 
41
41
  }
42
- ```
42
+ ```
43
-
44
- ### [おまけ] 用途によった使い分け
45
- ※個人的意見なので参考までにご覧ください。
46
-
47
- **1. 何度も複製して登場するオブジェクト**
48
- ・GetCompornentを使わずInspectorからアタッチする。移動させるならTransformもキャッシュする
49
- ・重く感じたらオブジェクトプールを利用する。(弾などは最初から導入してもいいかもしれません。)
50
-
51
- **2. 1度しか登場しないオブジェクト**
52
- Inspectorからアタッチしたものは利用しなくてもメモリ上に展開されるのでResourcesフォルダから読み込むなどすると良いです。
53
-
54
- **3. 複製はしないが、よく登場するオブジェクト(プレイヤーなど)**
55
- ・Hierarchy上に配置したり、Inspectorから参照して生成したりする。
56
-
57
- **4. ツール系(シェアな機能など)**
58
- ・staticな変数を定義して動的に生成すると楽です。
59
-
60
- といった形です。
61
- 参考になりますと幸いです。

3

追記

2018/07/25 06:33

投稿

IShix
IShix

スコア1729

answer CHANGED
@@ -2,7 +2,7 @@
2
2
  ゲーム開始時にParticle Systemがアタッチされたオブジェクトが非表示の状態で生成されておりませんか?その場合、Particle Systemの初期化が終わってないのでStop()を呼んだタイミングでNullReferenceExceptionエラーが発生します。オブジェクトのチェックボックスを入れるか、hosi.Stop()を呼ばないことでエラーは消えると思います。
3
3
  ![イメージ説明](62c4b94c32ad6593867486c12ae3ceeb.png)
4
4
 
5
- もしエフェクトが開始しないように非表示にしているのでしたらPlay On Awakeのチェックボックスを外すことでPlayを呼ぶまで動きませんので、Start()の hosi.Stop()と見た目は同じ動作になります。
5
+ もしエフェクトが開始しないように非表示にしているのでしたらPlay On Awakeのチェックボックスを外すことでPlayを呼ぶまで動きませんので、Start()の hosi.Stop()と見た目はほぼ同じ動作になります。
6
6
 
7
7
  ![イメージ説明](ee527c7132f1ecb1a6bee31d0ac8ed53.png)
8
8
 

2

追記

2018/07/25 06:29

投稿

IShix
IShix

スコア1729

answer CHANGED
@@ -1,4 +1,4 @@
1
- ### NullReferenceException が発生する
1
+ ### [追記] NullReferenceException が発生する
2
2
  ゲーム開始時にParticle Systemがアタッチされたオブジェクトが非表示の状態で生成されておりませんか?その場合、Particle Systemの初期化が終わってないのでStop()を呼んだタイミングでNullReferenceExceptionエラーが発生します。オブジェクトのチェックボックスを入れるか、hosi.Stop()を呼ばないことでエラーは消えると思います。
3
3
  ![イメージ説明](62c4b94c32ad6593867486c12ae3ceeb.png)
4
4
 

1

追記

2018/07/25 06:27

投稿

IShix
IShix

スコア1729

answer CHANGED
@@ -1,3 +1,12 @@
1
+ ### NullReferenceException が発生する
2
+ ゲーム開始時にParticle Systemがアタッチされたオブジェクトが非表示の状態で生成されておりませんか?その場合、Particle Systemの初期化が終わってないのでStop()を呼んだタイミングでNullReferenceExceptionエラーが発生します。オブジェクトのチェックボックスを入れるか、hosi.Stop()を呼ばないことでエラーは消えると思います。
3
+ ![イメージ説明](62c4b94c32ad6593867486c12ae3ceeb.png)
4
+
5
+ もしエフェクトが開始しないように非表示にしているのでしたらPlay On Awakeのチェックボックスを外すことでPlayを呼ぶまで動きませんので、Start()の hosi.Stop()と見た目は同じ動作になります。
6
+
7
+ ![イメージ説明](ee527c7132f1ecb1a6bee31d0ac8ed53.png)
8
+
9
+ ### MissingComponentExceptionが発生する
1
10
  tomatoにParticleSystemがアタッチされていないようですね。子要素にアタッチしていませんか?
2
11
  ![イメージ説明](8034566213ab028c2322c09b340776c3.png)
3
12