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

質問編集履歴

1

文法の追記

2017/12/19 12:46

投稿

taishi225
taishi225

スコア27

title CHANGED
File without changes
body CHANGED
@@ -1,6 +1,63 @@
1
1
  ```C#
2
+ using UnityEngine;
3
+ using System.Collections;
4
+
5
+ public class PolisController : MonoBehaviour
6
+ {
7
+
8
+ CharacterController controller;
9
+ Animator animator;
10
+
11
+ Vector3 moveDirection = Vector3.zero; // 移動方向計算用
12
+ float gravity = 9.8f; // 重力
13
+ float speedZ = 3.0f; // 進行方向の速度
14
+
15
+ // Use this for initialization
16
+ void Start()
17
+ {
18
+
19
+ // 必要なコンポーネントを取得
20
+ controller = GetComponent<CharacterController>();
21
+ animator = GetComponent<Animator>();
22
+ }
23
+
24
+ // Update is called once per frame
25
+ void Update()
26
+ {
27
+
28
+ // Inputを検知して前に進める
29
+ if (Input.GetAxis("Vertical") > 0.0f)
30
+ {
31
+ moveDirection.z = Input.GetAxis("Vertical") * speedZ;
32
+ }
33
+ else
34
+ {
35
+ moveDirection.z = 0;
36
+ }
37
+
38
+ // 方向転換
39
+ transform.Rotate(0, Input.GetAxis("Horizontal") * 3, 0);
40
+
41
+ // 重力分の力を毎フレーム追加
42
+ moveDirection.y -= gravity * Time.deltaTime;
43
+
44
+
45
+ // 移動実行
46
+ Vector3 globalDirection = transform.TransformDirection(moveDirection);
47
+ controller.Move(globalDirection * Time.deltaTime);
48
+
49
+ // 移動後接地していたらY方向の速度はリセット
50
+ if (controller.isGrounded) moveDirection.y = 0.0f;
51
+
52
+
53
+ // 速度が0以上なら歩きフラグをtrueにする
2
- animator.SetBool("walkFlag", moveDirection.z > 0.0f);
54
+ animator.SetBool("walkFlag", moveDirection.z > 0.0f);
55
+
56
+ }
57
+ }
3
58
  ```
4
59
  walkFlagというbool型のフラグを作り、上記のコードを書いたのですがtrueになりません。
5
60
  解決方法が分かる方、ご教授願います。
6
- walkFlagをAnimatorでtrueにした後プレイすればアニメーションの再生はできているので、そこは問題ないです。
61
+ walkFlagをAnimatorでtrueにした後プレイすればアニメーションの再生はできているので、そこは問題ないです。
62
+
63
+ ![イメージ説明](6c5d83d2faaf6f8dcf97b09cc22b00c7.png)