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

質問編集履歴

6

追記

2016/09/30 16:12

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -95,41 +95,4 @@
95
95
  yield return new WaitForSeconds(waitTime);
96
96
  action();
97
97
  }
98
- ```
99
-
100
- ###追記②
101
- ご回答ありがとうございます。追記しました。
102
- ```C#
103
- GameObject pObject;
104
- ParticleSystem particle;
105
-
106
- //ここでパーティクルが停止される時間を指定
107
- float particleDelayTime = .01f;
108
-
109
- void Awake()
110
- {
111
- pObject = GameObject.FindGameObjectWithTag ("ParticleSystem");
112
- particle = pObject.GetComponent<ParticleSystem> ();
113
- particle.gameObject.SetActive(false);
114
- }
115
-
116
- void Update()
117
- {
118
- if (Input.GetKey(KeyCode.F) && particle.isStopped) {
119
- particle.gameObject.SetActive (true);
120
- particle.Simulate (4.0f, true, true);
121
- particle.Play ();
122
- StartCoroutine (delay (particleDelayTime, () => {
123
- particle.gameObject.SetActive (false);
124
- }));
125
- //for Debug
126
- Debug.Log ("A");
127
- }
128
- }
129
-
130
- IEnumerator delay(float waitTime, UnityAction action)
131
- {
132
- yield return new WaitForSeconds(waitTime);
133
- action();
134
- }
135
98
  ```

5

追記

2016/09/30 16:12

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -97,4 +97,39 @@
97
97
  }
98
98
  ```
99
99
 
100
- ###追記②
100
+ ###追記②
101
+ ご回答ありがとうございます。追記しました。
102
+ ```C#
103
+ GameObject pObject;
104
+ ParticleSystem particle;
105
+
106
+ //ここでパーティクルが停止される時間を指定
107
+ float particleDelayTime = .01f;
108
+
109
+ void Awake()
110
+ {
111
+ pObject = GameObject.FindGameObjectWithTag ("ParticleSystem");
112
+ particle = pObject.GetComponent<ParticleSystem> ();
113
+ particle.gameObject.SetActive(false);
114
+ }
115
+
116
+ void Update()
117
+ {
118
+ if (Input.GetKey(KeyCode.F) && particle.isStopped) {
119
+ particle.gameObject.SetActive (true);
120
+ particle.Simulate (4.0f, true, true);
121
+ particle.Play ();
122
+ StartCoroutine (delay (particleDelayTime, () => {
123
+ particle.gameObject.SetActive (false);
124
+ }));
125
+ //for Debug
126
+ Debug.Log ("A");
127
+ }
128
+ }
129
+
130
+ IEnumerator delay(float waitTime, UnityAction action)
131
+ {
132
+ yield return new WaitForSeconds(waitTime);
133
+ action();
134
+ }
135
+ ```

4

更新

2016/09/29 15:33

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -97,22 +97,4 @@
97
97
  }
98
98
  ```
99
99
 
100
- ###追記②
100
+ ###追記②
101
- ご回答ありがとうございます。
102
-
103
- ![イメージ説明](c8d47a601223b14adf844714186f6dac.png)
104
- ```C#
105
- GameObject pObject;
106
- ParticleSystem particle;
107
-
108
- //ここでパーティクルが停止される時間を指定
109
- float particleDelayTime = .2f;
110
-
111
- void Awake()
112
- {
113
- pObject = GameObject.FindGameObjectWithTag("ParticleSystem")
114
- particle = pObject.GetComponent<ParticleSystem> (); //←24行目
115
- particle.gameObject.SetActive(false);
116
- }
117
- ```
118
- > Assets/GameObjectScript.cs(24,24): error CS1525: Unexpected symbol `particle'

3

追記

2016/09/29 15:28

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -63,7 +63,7 @@
63
63
 
64
64
  ご教授のほどよろしくお願いします。
65
65
 
66
- ###追記
66
+ ###追記
67
67
  ご回答ありがとうございます。追記しました。
68
68
  ```C#
69
69
  //ここでパーティクルが停止される時間を指定
@@ -95,4 +95,24 @@
95
95
  yield return new WaitForSeconds(waitTime);
96
96
  action();
97
97
  }
98
- ```
98
+ ```
99
+
100
+ ###追記②
101
+ ご回答ありがとうございます。
102
+
103
+ ![イメージ説明](c8d47a601223b14adf844714186f6dac.png)
104
+ ```C#
105
+ GameObject pObject;
106
+ ParticleSystem particle;
107
+
108
+ //ここでパーティクルが停止される時間を指定
109
+ float particleDelayTime = .2f;
110
+
111
+ void Awake()
112
+ {
113
+ pObject = GameObject.FindGameObjectWithTag("ParticleSystem")
114
+ particle = pObject.GetComponent<ParticleSystem> (); //←24行目
115
+ particle.gameObject.SetActive(false);
116
+ }
117
+ ```
118
+ > Assets/GameObjectScript.cs(24,24): error CS1525: Unexpected symbol `particle'

2

追記

2016/09/29 15:19

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -64,7 +64,7 @@
64
64
  ご教授のほどよろしくお願いします。
65
65
 
66
66
  ###追記
67
-
67
+ ご回答ありがとうございます。追記しました。
68
68
  ```C#
69
69
  //ここでパーティクルが停止される時間を指定
70
70
  float particleDelayTime = .2f;

1

追記

2016/09/28 09:38

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -2,7 +2,7 @@
2
2
  キー入力とUpdateとLateUpdateを利用して、パーティクルを一瞬だけ表示したいと考えています。
3
3
 
4
4
  仕様:
5
- Fキーを押した瞬間だけ、パーティクルを表示する。それ以外の時はパーティクルは非表示。
5
+ Fキーを押した瞬間だけ、指定した再生位置でパーティクルを表示する。それ以外の時はパーティクルは非表示。
6
6
 
7
7
  ###試したこと
8
8
 
@@ -61,4 +61,38 @@
61
61
 
62
62
  しかし、UpdateとLateUpdateを使う仕様自体がbad codeであるのならば、代替の方法を教えて頂きたいです。
63
63
 
64
- ご教授のほどよろしくお願いします。
64
+ ご教授のほどよろしくお願いします。
65
+
66
+ ###追記
67
+
68
+ ```C#
69
+ //ここでパーティクルが停止される時間を指定
70
+ float particleDelayTime = .2f;
71
+
72
+ void Awake()
73
+ {
74
+ pObject = GameObject.Find ("Particle System");
75
+ particle = pObject.GetComponent<ParticleSystem> ();
76
+ particle.gameObject.SetActive(false);
77
+ }
78
+
79
+ void Update()
80
+ {
81
+ if (Input.GetKeyDown ("f") && particle.isStopped) {
82
+ particle.gameObject.SetActive (true);
83
+ particle.Simulate (4.0f, true, true); //追記。
84
+ particle.Play (); //追記。
85
+ StartCoroutine (delay (particleDelayTime, () => {
86
+ particle.gameObject.SetActive (false);
87
+ }));
88
+ //for Debug
89
+ Debug.Log ("A");
90
+ }
91
+ }
92
+
93
+ IEnumerator delay(float waitTime, UnityAction action)
94
+ {
95
+ yield return new WaitForSeconds(waitTime);
96
+ action();
97
+ }
98
+ ```