回答編集履歴
5
文言修正
test
CHANGED
@@ -32,7 +32,7 @@
|
|
32
32
|
|
33
33
|
|
34
34
|
|
35
|
-
それなら一定間隔で呼ばれる`FixedUpdate`で処理すれば良いと思うかもしれませんが、処理落ちした次のフレームでまた別の処理を呼ばれ
|
35
|
+
それなら一定間隔で呼ばれる`FixedUpdate`で処理すれば良いと思うかもしれませんが、処理落ちした次のフレームでまた別の処理を呼ばれ処理しきれずフリーズやクラッシュするより、終わるまで少し停止してくれた方が端末に優しいと思いませんか?
|
36
36
|
|
37
37
|
なので`Update`が存在していると思います。
|
38
38
|
|
4
文言修正
test
CHANGED
@@ -32,7 +32,9 @@
|
|
32
32
|
|
33
33
|
|
34
34
|
|
35
|
-
それなら一定間隔で呼ばれる`FixedUpdate`で処理すれば良いと思うかもしれませんが、処理落ちした次のフレームで
|
35
|
+
それなら一定間隔で呼ばれる`FixedUpdate`で処理すれば良いと思うかもしれませんが、処理落ちした次のフレームでまた別の処理を呼ばれる処理しきれないより、終わるまで少し停止してくれた方が端末に優しいと思いませんか?
|
36
|
+
|
37
|
+
なので`Update`が存在していると思います。
|
36
38
|
|
37
39
|
|
38
40
|
|
3
追記
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
変更
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
必要無い文言を削除
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
|
|