回答編集履歴
2
追記
answer
CHANGED
@@ -4,6 +4,19 @@
|
|
4
4
|
簡単なのがこの方法です。パーティクルが終了後`gameObject.SetActive(false)`が自動的に走ります。`OnDisable()` がパーティクルの終了になるので`OnDisable()` に書きたいコードを書くと良いです。
|
5
5
|

|
6
6
|
|
7
|
+
```C#
|
8
|
+
using UnityEngine;
|
9
|
+
|
10
|
+
[RequireComponent(typeof(ParticleSystem))]
|
11
|
+
public sealed class ParticleCompletedListener : MonoBehaviour
|
12
|
+
{
|
13
|
+
void OnDisable()
|
14
|
+
{
|
15
|
+
Debug.Log("パーティクルが終了しました。");
|
16
|
+
}
|
17
|
+
}
|
18
|
+
```
|
19
|
+
|
7
20
|
### Particle.IsAliveで判定する
|
8
21
|
下記スクリプトを`ParticleSystem`がアタッチされたオブジェクトにアタッチしてください。
|
9
22
|
|
@@ -63,8 +76,6 @@
|
|
63
76
|
```
|
64
77
|
|
65
78
|
そして下記が使い方のサンプルです。
|
66
|
-
`ParticleCompletedListener`がアタッチされたPrefabをボタンをタップすると生成する
|
67
|
-
`OnCompleted`でパーティクル終了判定する
|
68
79
|
|
69
80
|
```C#
|
70
81
|
using UnityEngine;
|
1
追記
answer
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
方法はいくつかあります。
|
2
2
|
|
3
3
|
### Particle SystemのStopActionをDisableにする
|
4
|
-
簡単なのがこの方法です。パーティクルが終了後`
|
4
|
+
簡単なのがこの方法です。パーティクルが終了後`gameObject.SetActive(false)`が自動的に走ります。`OnDisable()` がパーティクルの終了になるので`OnDisable()` に書きたいコードを書くと良いです。
|
5
5
|

|
6
6
|
|
7
7
|
### Particle.IsAliveで判定する
|