前提・実現したいこと
Unityで制作
原点からX軸をSin値で左右に動きながら原点に付いたら停止してキャラクターが振り返る
(振り返るアニメーションは作成済み)
また、振り返るタイミングはランダムにしたい。
発生している問題・エラーメッセージ
左右に動くことはできるが原点の判定が取れない
該当のソースコード
C#(unity)
1 //自分がいるポジション 2 [SerializeField] Vector3 point; 3 4 //アニメーションを動かす 5 private Animator animator; 6 7 //乱数 8 int Val; 9 int speed;//動くスピード 10 void Start() 11 { 12 point = transform.position; 13 animator = GetComponent<Animator>(); 14 15 } 16 void Update() 17 { 18 19 //Debug.Log(transform.position); 20 if (transform.position.x == 0f) 21 { 22 Val = (int)Random.Range(0.0f, 2.0f); 23 Debug.Log("乱数生成"); 24 } 25 Debug.Log(Val); 26 switch (Val) 27 { 28 case 0://移動 29 transform.position = new Vector3(Mathf.Sin(Time.time) * -8+point.x, point.y, point.z); 30 31 //animator.Play("walk"); 32 Debug.Log("移動できた"); 33 34 break; 35 36 case 1://振り向き 37 38 //animator.SetBool("rotation_left", true); 39 Debug.Log("アニメーション再生"); 40 transform.position = new Vector3(0.1f,0,0); 41 Val = 0; 42 break; 43 } 44 } 45
試したこと
Valの位置を変えてみたりbool値を設定しましたがうまくいきませんでした
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。