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

回答編集履歴

5

誤字

2016/09/12 02:21

投稿

ishi9
ishi9

スコア1294

answer CHANGED
@@ -2,7 +2,7 @@
2
2
  標準のやり方なら[コルーチン](http://docs.unity3d.com/ja/current/Manual/Coroutines.html)ですね。
3
3
  不完全ですが、以下サンプル(マイナスの場合の処理を継ぎ足しておいてください)
4
4
  ```c#
5
- IEnumerator SampleResetAnimation(float direction) {
5
+ IEnumerator SampleResetAnimation() {
6
6
  float speed = 1.0f; // もちろん、メンバで定義しておいてもOK
7
7
  if (rotX > 0)
8
8
  {

4

誤字

2016/09/12 02:21

投稿

ishi9
ishi9

スコア1294

answer CHANGED
@@ -13,7 +13,8 @@
13
13
  yield return null;
14
14
  }
15
15
  }
16
+ // 最後はぴったり0になるように
16
- rotX -= speed;
17
+ rotX = 0;
17
18
  camera.transform.eulerAngles = new Vector3(rotX, rotY, 0.0f );
18
19
  yield return null;
19
20
  }

3

前のだと無限ループするので

2016/09/12 02:20

投稿

ishi9
ishi9

スコア1294

answer CHANGED
@@ -1,8 +1,8 @@
1
1
  Unirx等の強力なライブラリを使う方法もありますが、
2
2
  標準のやり方なら[コルーチン](http://docs.unity3d.com/ja/current/Manual/Coroutines.html)ですね。
3
- ちょっと汚いですが、以下サンプル
3
+ 不完全ですが、以下サンプル(マイナスの場合の処理を継ぎ足しておいてください)
4
4
  ```c#
5
- IEnumerator SampleResetAnimation() {
5
+ IEnumerator SampleResetAnimation(float direction) {
6
6
  float speed = 1.0f; // もちろん、メンバで定義しておいてもOK
7
7
  if (rotX > 0)
8
8
  {
@@ -13,18 +13,7 @@
13
13
  yield return null;
14
14
  }
15
15
  }
16
- else
17
- {
18
- while(rotX < 0)
19
- {
20
- rotX += speed;
16
+ rotX -= speed;
21
- camera.transform.eulerAngles = new Vector3(rotX, rotY, 0.0f );
22
- yield return null;
23
- }
24
- }
25
-
26
- // 最後はぴったり0になるように
27
- rotX = 0;
28
17
  camera.transform.eulerAngles = new Vector3(rotX, rotY, 0.0f );
29
18
  yield return null;
30
19
  }

2

カメラ更新忘れてた

2016/09/12 02:19

投稿

ishi9
ishi9

スコア1294

answer CHANGED
@@ -1,6 +1,6 @@
1
1
  Unirx等の強力なライブラリを使う方法もありますが、
2
2
  標準のやり方なら[コルーチン](http://docs.unity3d.com/ja/current/Manual/Coroutines.html)ですね。
3
- 以下サンプル
3
+ ちょっと汚いですが、以下サンプル
4
4
  ```c#
5
5
  IEnumerator SampleResetAnimation() {
6
6
  float speed = 1.0f; // もちろん、メンバで定義しておいてもOK
@@ -9,6 +9,7 @@
9
9
  while(rotX > 0)
10
10
  {
11
11
  rotX -= speed;
12
+ camera.transform.eulerAngles = new Vector3(rotX, rotY, 0.0f );
12
13
  yield return null;
13
14
  }
14
15
  }
@@ -17,12 +18,14 @@
17
18
  while(rotX < 0)
18
19
  {
19
20
  rotX += speed;
21
+ camera.transform.eulerAngles = new Vector3(rotX, rotY, 0.0f );
20
22
  yield return null;
21
23
  }
22
24
  }
23
25
 
24
26
  // 最後はぴったり0になるように
25
27
  rotX = 0;
28
+ camera.transform.eulerAngles = new Vector3(rotX, rotY, 0.0f );
26
29
  yield return null;
27
30
  }
28
31
 

1

一部誤字

2016/09/12 02:14

投稿

ishi9
ishi9

スコア1294

answer CHANGED
@@ -4,7 +4,7 @@
4
4
  ```c#
5
5
  IEnumerator SampleResetAnimation() {
6
6
  float speed = 1.0f; // もちろん、メンバで定義しておいてもOK
7
- if (currentRotX > 0)
7
+ if (rotX > 0)
8
8
  {
9
9
  while(rotX > 0)
10
10
  {