回答編集履歴

5

文言修正

2021/04/04 11:23

投稿

IShix
IShix

スコア1724

test CHANGED
@@ -32,7 +32,7 @@
32
32
 
33
33
 
34
34
 
35
- それなら一定間隔で呼ばれる`FixedUpdate`で処理すれば良いと思うかもしれませんが、処理落ちした次のフレームでまた別の処理を呼ばれ処理しきれないより、終わるまで少し停止してくれた方が端末に優しいと思いませんか?
35
+ それなら一定間隔で呼ばれる`FixedUpdate`で処理すれば良いと思うかもしれませんが、処理落ちした次のフレームでまた別の処理を呼ばれ処理しきれずフリーズやクラッシュするより、終わるまで少し停止してくれた方が端末に優しいと思いませんか?
36
36
 
37
37
  なので`Update`が存在していると思います。
38
38
 

4

文言修正

2021/04/04 11:23

投稿

IShix
IShix

スコア1724

test CHANGED
@@ -32,7 +32,9 @@
32
32
 
33
33
 
34
34
 
35
- それなら一定間隔で呼ばれる`FixedUpdate`で処理すれば良いと思うかもしれませんが、処理落ちした次のフレームで更に処理落ちしそうな処理を呼ばれるより、処理が終わるまで少し停止した方が端末に優しいので`Update`が存在していると思います。
35
+ それなら一定間隔で呼ばれる`FixedUpdate`で処理すれば良いと思うかもしれませんが、処理落ちした次のフレームでまた別の処理を呼ばれる処理しきれないより、終わるまで少し停止してくれた方が端末に優しいと思いませんか?
36
+
37
+ なので`Update`が存在していると思います。
36
38
 
37
39
 
38
40
 

3

追記

2021/04/04 11:19

投稿

IShix
IShix

スコア1724

test CHANGED
@@ -50,6 +50,8 @@
50
50
 
51
51
  溜め攻撃の実装を簡単に書いてみました。
52
52
 
53
+ 良ければ参考にしてみてください。
54
+
53
55
 
54
56
 
55
57
  ```C#
@@ -161,3 +163,47 @@
161
163
 
162
164
 
163
165
  ```
166
+
167
+
168
+
169
+ [Unirx](https://github.com/neuecc/UniRx)を使う方法もあります。下記は長押し判定のみです。
170
+
171
+ もしUnirx使ってなければおすすめですよ。様々な場面で活躍します。
172
+
173
+
174
+
175
+ ```C#
176
+
177
+ void Start()
178
+
179
+ {
180
+
181
+ var mouseDownStream = this.UpdateAsObservable().Where(_ => Input.GetMouseButtonDown(0));
182
+
183
+ var mouseUpStream = this.UpdateAsObservable().Where(_ => Input.GetMouseButtonUp(0));
184
+
185
+
186
+
187
+ //長押しの判定
188
+
189
+ //マウスクリックされたら3秒後にOnNextを流す
190
+
191
+ mouseDownStream
192
+
193
+ .SelectMany(_ => Observable.Timer(TimeSpan.FromSeconds(3)))
194
+
195
+ //途中でMouseUpされたらストリームをリセット
196
+
197
+ .TakeUntil(mouseUpStream)
198
+
199
+ .RepeatUntilDestroy(this.gameObject)
200
+
201
+ .Subscribe(_ => Debug.Log("長押し"));
202
+
203
+
204
+
205
+ }
206
+
207
+ ```
208
+
209
+ [コードの参照元](https://gist.github.com/TORISOUP/cd905bdd4d9d5fc95365)

2

変更

2021/04/04 11:16

投稿

IShix
IShix

スコア1724

test CHANGED
@@ -32,7 +32,7 @@
32
32
 
33
33
 
34
34
 
35
- それなら一定間隔で呼ばれる`FixedUpdate`で処理すれば良いと思うかもしれませんが、処理落ちした次のフレームで更に処理落ちしそうな処理を呼ばれるより処理が終わるまで少し停止した方が端末に優しいので`Update`が存在していると思います。
35
+ それなら一定間隔で呼ばれる`FixedUpdate`で処理すれば良いと思うかもしれませんが、処理落ちした次のフレームで更に処理落ちしそうな処理を呼ばれるより処理が終わるまで少し停止した方が端末に優しいので`Update`が存在していると思います。
36
36
 
37
37
 
38
38
 

1

必要無い文言を削除

2021/04/04 11:09

投稿

IShix
IShix

スコア1724

test CHANGED
@@ -11,34 +11,6 @@
11
11
 
12
12
 
13
13
  自前で実装する必要はほぼ無いというのが僕の印象ですが、不安な部分があるなら小さなテストシーンを作って期待する動作になるか検証すると良いと思います。
14
-
15
-
16
-
17
- **Time.timeScaleに影響するもの例**
18
-
19
- - Time.time、Time.deltaTime、Time.fixedDeltaTime
20
-
21
- - FixedUpdateの呼び出し回数
22
-
23
- - コルーチンのWaitForSecondsなど
24
-
25
- - AnimatorのUpdate ModeがUnscaled Timeでないもの
26
-
27
- など
28
-
29
-
30
-
31
- **Time.timeに影響しないもの例**
32
-
33
- - Time.unscaledDeltaTime
34
-
35
- - Time.fixedUnscaledDeltaTime
36
-
37
- - Updateの呼び出し回数
38
-
39
- など
40
-
41
-
42
14
 
43
15
 
44
16