unityの2Dで画像を移動させながら左右反転したいのですができないです
unityの2Dで画像を移動させながら画像を左右反転したいのですができないです。
アニメーションを設定しているのですがそれが原因だったりするのでしょうか?
エラーなどは出ていないのではっきりとした原因がわかりません。
どうすれば解決できますでしょうか?
回答よろしくお願いします。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Player : MonoBehaviour {
//ステータス
public float speed = 5f; //歩くスピード
//キャッシュ
private Rigidbody2D rigidbody2D;
private Animator animator;
private bool left = true;
// Use this for initialization
void Start () {
animator = GetComponent<Animator> ();
rigidbody2D = GetComponent<Rigidbody2D> ();
}
// Update is called once per frame
void FixedUpdate () {
//---左右移動==================================
//左キー:-1、右キー:1
float x = Input.GetAxisRaw("Horizontal");
//左か右を入力したら
if (x != 0) {
//入力方向へ移動
rigidbody2D.velocity = new Vector2 (x * speed, rigidbody2D.velocity.y);
//localScale.xを-1にすると画像が反転する
if((x > 0 && left) || (x < 0 && !left)){
left = (x < 0);
transform.localScale= new Vector3(((x < 0) ? 2 : -2), 2, 2);
}
animator.SetBool("walk", true);
} else {
//横移動の速度を0にしてぴたっと止まるようにする
rigidbody2D.velocity =new Vector2 (0, rigidbody2D.velocity.y);
//Walk→Idle
animator.SetBool("walk",false);
}
}
}