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

回答編集履歴

2

追記

2019/09/25 02:42

投稿

Zuishin
Zuishin

スコア28675

answer CHANGED
@@ -14,4 +14,6 @@
14
14
  }
15
15
  }
16
16
  }
17
- ```
17
+ ```
18
+ つまり、キーが押されたときに Spinning を true にし、一回転終わったときに false にしてください。一回転したかどうかは、キーを押された時から終了までの Time.deltaTime の合計を取っておけばわかります。この例の場合は 1 秒で 90 度回転するので、4 秒後に一回転することになります。
19
+ 誤差を極力排したい場合には、回転を始める前の transform.rotation を保存しておいて回転が終わった時にそちらを向くようにすればいいと思います。

1

修正

2019/09/25 02:41

投稿

Zuishin
Zuishin

スコア28675

answer CHANGED
@@ -1,1 +1,17 @@
1
- まわり続けることができたのなら、一回転したところで止まればいいと思います。
1
+ まわり続けることができたのなら、一回転したところで止まればいいと思います。
2
+
3
+ # 追記
4
+
5
+ Spinning を true にすれば回り、false にすれば止まるはずです。
6
+
7
+ ```C#
8
+ public class Hero: MonoBehavior
9
+ {
10
+ public bool Spinning { get; set; }
11
+ void Update() {
12
+ if (Spinning) {
13
+ transform.Rotate(new Vector3(0, 90, 0) * Time.deltaTime, Space.World);
14
+ }
15
+ }
16
+ }
17
+ ```