Question by
jimsell · Feb 08, 2016 at 11:04 PM ·
animationanimatoranimator controllertransition
Animator in child receives float from parent but animation doesn't change when condition is met.
So I wrote the script down below but when I walk (and the Input.GetAxisRaw("Horizontal") value is fed to the animator) the animation doesn't transition.
The conditional statement should be met, but it acts like it didn't (printscreen).
using UnityEngine;
using System.Collections;
public class PlayerController : MonoBehaviour
{
public float moveSpeed;
private bool m_FacingRight = true; // For determining which way the player is currently facing.
private Animator anim;
private GameObject legs;
// Use this for initialization
void Start()
{
//Finds and assigns the child of the player named "Legs".
legs = this.transform.Find("Legs").gameObject;
//If the child was found.
if (legs != null)
{
anim = legs.GetComponent<Animator>(); //get the animator that is attached to the object
}
}
// Update is called once per frame
void Update()
{
var v3 = new Vector3(Input.GetAxisRaw("Horizontal"), Input.GetAxisRaw("Vertical"), 0f);
transform.Translate(moveSpeed * v3.normalized * Time.deltaTime);
anim.SetFloat("MoveX", Input.GetAxisRaw("Horizontal"));
// If the input is moving the player right and the player is facing left...
if (v3.normalized.x > 0 && !m_FacingRight)
{
// ... flip the player.
Flip();
}
// Otherwise if the input is moving the player left and the player is facing right...
else if (v3.normalized.x < 0 && m_FacingRight)
{
// ... flip the player.
Flip();
}
}
private void Flip()
{
// Switch the way the player is labelled as facing.
m_FacingRight = !m_FacingRight;
// Multiply the player's x local scale by -1.
Vector3 theScale = transform.localScale;
theScale.x *= -1;
transform.localScale = theScale;
}
}
animationprintscreen.png
(110.5 kB)
Comment
Your answer
Follow this Question
Related Questions
Animation Running Game 0 Answers
Tweaking screen transitions not to fire every time 0 Answers
Placing my own animation idle&move to player 0 Answers
Attach gun to two hands 0 Answers