質問編集履歴
3
句読点を追記。
title
CHANGED
File without changes
|
body
CHANGED
@@ -70,7 +70,7 @@
|
|
70
70
|
mouseDeltaPosition = Input.mousePosition - prevPos;
|
71
71
|
|
72
72
|
//ポインタ位置差分を求めた後で、現在のポインタ位置をprevPosに代入し、次回のUpdate実行に備える。
|
73
|
-
//この「現在のポインタ位置」が、次フレームでは「前フレームのポインタ位置」となる
|
73
|
+
//この「現在のポインタ位置」が、次フレームでは「前フレームのポインタ位置」となる。
|
74
74
|
prevPos = Input.mousePosition;
|
75
75
|
|
76
76
|
(省略)
|
2
追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -53,4 +53,25 @@
|
|
53
53
|
}
|
54
54
|
this.transform.Rotate(xAngle, yAngle, zAngle, Space.World);
|
55
55
|
}
|
56
|
+
```
|
57
|
+
|
58
|
+
### MEMO
|
59
|
+
|
60
|
+
タッチのdeltaPositionを、マウスで表現すると下記のようなmouseDeltaPositionになる。
|
61
|
+
```C#
|
62
|
+
void Update()
|
63
|
+
{
|
64
|
+
if (Input.GetMouseButtonDown(0))
|
65
|
+
{
|
66
|
+
prevPos = Input.mousePosition;
|
67
|
+
}
|
68
|
+
else if (Input.GetMouseButton(0))
|
69
|
+
{
|
70
|
+
mouseDeltaPosition = Input.mousePosition - prevPos;
|
71
|
+
|
72
|
+
//ポインタ位置差分を求めた後で、現在のポインタ位置をprevPosに代入し、次回のUpdate実行に備える。
|
73
|
+
//この「現在のポインタ位置」が、次フレームでは「前フレームのポインタ位置」となる
|
74
|
+
prevPos = Input.mousePosition;
|
75
|
+
|
76
|
+
(省略)
|
56
77
|
```
|
1
追記作成。
title
CHANGED
File without changes
|
body
CHANGED
@@ -32,4 +32,25 @@
|
|
32
32
|
this.transform.Rotate(xAngle, yAngle, zAngle, Space.World);
|
33
33
|
}
|
34
34
|
}
|
35
|
+
```
|
36
|
+
### 追記。
|
37
|
+
タッチの場合は、なぜRotateで実装できたのでしょうか?
|
38
|
+
可能ならば、なるべくこれに近いコード(Rotateを使ったコード)で、エディタの方も実装したいです。
|
39
|
+
|
40
|
+
```
|
41
|
+
int touchCount = Input.touches.Count(t => t.phase != TouchPhase.Ended && t.phase != TouchPhase.Canceled);
|
42
|
+
|
43
|
+
if (touchCount == 1)
|
44
|
+
{
|
45
|
+
Touch t = Input.touches.First();
|
46
|
+
switch (t.phase)
|
47
|
+
{
|
48
|
+
case TouchPhase.Moved:
|
49
|
+
|
50
|
+
xAngle = (t.deltaPosition.y/Screen.height)*90;
|
51
|
+
yAngle = -(t.deltaPosition.x/Screen.width)*90;
|
52
|
+
break;
|
53
|
+
}
|
54
|
+
this.transform.Rotate(xAngle, yAngle, zAngle, Space.World);
|
55
|
+
}
|
35
56
|
```
|