回答編集履歴

11

誤字を修正

2016/09/28 17:00

投稿

IShix
IShix

スコア1724

test CHANGED
@@ -1,6 +1,4 @@
1
- [追記]
2
-
3
- 指定した再生位置でパーティクルを表示するという内容を見落としいただのでソースを少し修正してい
1
+ [追記]ご摘いただきました「指定した再生位置でパーティクルを表示するという内容を踏まえてソースを少し修正しました
4
2
 
5
3
 
6
4
 

10

ソースを修正

2016/09/28 17:00

投稿

IShix
IShix

スコア1724

test CHANGED
@@ -70,9 +70,9 @@
70
70
 
71
71
  pObject.gameObject.SetActive(true);
72
72
 
73
- pObject.Simulate(4.0f, true, false);
73
+ pObject.Simulate(4.0f, true, false); //追記
74
74
 
75
- pObject.Play();
75
+ pObject.Play(); //追記
76
76
 
77
77
  StartCoroutine(delay(particleDelayTime,()=>{
78
78
 

9

ソースを修正

2016/09/28 16:59

投稿

IShix
IShix

スコア1724

test CHANGED
@@ -66,7 +66,7 @@
66
66
 
67
67
  {
68
68
 
69
- if (Input.GetKeyDown("f") && pObject.isStopped){
69
+ if (Input.GetKeyDown(KeyCode.F) && pObject.isStopped){
70
70
 
71
71
  pObject.gameObject.SetActive(true);
72
72
 

8

スクリプトを訂正

2016/09/28 16:54

投稿

IShix
IShix

スコア1724

test CHANGED
@@ -1,3 +1,9 @@
1
+ [追記]
2
+
3
+ 指定した再生位置でパーティクルを表示するという内容を見落としていただのでソースを少し修正しています。
4
+
5
+
6
+
1
7
  > Fキーを押した瞬間だけ、パーティクルを表示する。それ以外の時はパーティクルは非表示。
2
8
 
3
9
 
@@ -64,6 +70,10 @@
64
70
 
65
71
  pObject.gameObject.SetActive(true);
66
72
 
73
+ pObject.Simulate(4.0f, true, false);
74
+
75
+ pObject.Play();
76
+
67
77
  StartCoroutine(delay(particleDelayTime,()=>{
68
78
 
69
79
  pObject.gameObject.SetActive(false);

7

誤字を修正

2016/09/28 16:40

投稿

IShix
IShix

スコア1724

test CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
 
8
8
 
9
- ※パーティクルが設定されたオブジェクトに以下スクリプトをアタッチしても動かないと思うので、パーティクルが指定されたオブジェクト以外に設定してください。
9
+ ※パーティクルが設定されたオブジェクトに以下スクリプトをアタッチしても動かないと思うので、パーティクルが指定されたオブジェクト以外にアタッチしてください。
10
10
 
11
11
 
12
12
 

6

注意を追加

2016/09/27 16:06

投稿

IShix
IShix

スコア1724

test CHANGED
@@ -3,6 +3,12 @@
3
3
 
4
4
 
5
5
  それだけでよければ以下コードでいけます。適当なオブジェクトに以下コードをアタッチしてインスペクタ上から該当パーティクルを指定してください。
6
+
7
+
8
+
9
+ ※パーティクルが設定されたオブジェクトに以下スクリプトをアタッチしても動かないと思うので、パーティクルが指定されたオブジェクト以外に設定してください。
10
+
11
+
6
12
 
7
13
 
8
14
 

5

ソースの修正

2016/09/27 16:05

投稿

IShix
IShix

スコア1724

test CHANGED
@@ -58,7 +58,7 @@
58
58
 
59
59
  pObject.gameObject.SetActive(true);
60
60
 
61
- StartCoroutine(delayTime(particleDelayTime,()=>{
61
+ StartCoroutine(delay(particleDelayTime,()=>{
62
62
 
63
63
  pObject.gameObject.SetActive(false);
64
64
 
@@ -74,7 +74,7 @@
74
74
 
75
75
 
76
76
 
77
- IEnumerator delayTime(float waitTime,UnityAction action)
77
+ IEnumerator delay(float waitTime,UnityAction action)
78
78
 
79
79
  {
80
80
 

4

表現を修正

2016/09/27 16:02

投稿

IShix
IShix

スコア1724

test CHANGED
@@ -22,7 +22,7 @@
22
22
 
23
23
 
24
24
 
25
- public class particleForF : MonoBehaviour {
25
+ public class particleForFkey : MonoBehaviour {
26
26
 
27
27
 
28
28
 

3

表現を修正

2016/09/27 15:52

投稿

IShix
IShix

スコア1724

test CHANGED
@@ -34,7 +34,7 @@
34
34
 
35
35
 
36
36
 
37
- //ここでパーティクルが表示される時間を指定
37
+ //ここでパーティクルが停止される時間を指定
38
38
 
39
39
  float particleDelayTime = .2f;
40
40
 

2

実装のポイントを追記

2016/09/27 15:50

投稿

IShix
IShix

スコア1724

test CHANGED
@@ -3,6 +3,12 @@
3
3
 
4
4
 
5
5
  それだけでよければ以下コードでいけます。適当なオブジェクトに以下コードをアタッチしてインスペクタ上から該当パーティクルを指定してください。
6
+
7
+
8
+
9
+ ###実装のポイント
10
+
11
+ パーティクルシステムをplay / stopしなくても、オブジェクトを非表示にすると勝手に止まります。その状態で再表示すると勝手に始まります。それを利用した実装になります。
6
12
 
7
13
 
8
14
 

1

引用がおかしかったので修正

2016/09/27 15:48

投稿

IShix
IShix

スコア1724

test CHANGED
@@ -1,8 +1,6 @@
1
- 書いてみました。
1
+ > Fキーを押した瞬間だけ、パーティクルを表示するそれ以外の時はパーティクルは非表示。
2
2
 
3
3
 
4
-
5
- > Fキーを押した瞬間だけ、パーティクルを表示する。それ以外の時はパーティクルは非表示。
6
4
 
7
5
  それだけでよければ以下コードでいけます。適当なオブジェクトに以下コードをアタッチしてインスペクタ上から該当パーティクルを指定してください。
8
6