- Home /
Animation doesn't play
Hi Unity users.
I have 3 animations. The first animation is the Idle animation. The second animation is the Walk animation. The third animation is the Shoot animation.
Well, the Idle animation plays when the player doesn't move. The the Walk animation plays when the Player is walking. But now when i press my left mouse button, the Shoot animation needs to play till i release the mouse button. So i got this script to make it possible. But it's not working. The Shoot animation won't play by left click.
function Start ()
{
animation.wrapMode = WrapMode.Loop;
animation["Shoot"].wrapMode = WrapMode.Once;
animation["Shoot"].layer = 1;
animation.Stop();
}
function Update () {
if (Mathf.Abs(Input.GetAxis("Vertical")) > 0.1)
animation.CrossFade("Walk");
else
animation.CrossFade("Idle");
if (Input.GetMouseButtonDown (0))
animation.CrossFade("Shoot");
}
Someone can help me please?
Thanks in advance. DonIlias "
Get$$anonymous$$ouseButtonDown only returns true the first frame of pressing the mouse button, thus making it only execute once.
Answer by adrenak · Jan 07, 2012 at 05:50 PM
For animation.CrossFade("Shoot') in the last few statements there, you are using Input.GetMouseButtonDown.
So the animation is played only when the mouse 'click' is detected because GetMouseButtonDown checks for click . Instead use Input.GetMouseButton, it checks whether the button is 'held' down and the animation is played untill mouse button is released.
Answer by BigBlob · Jan 07, 2012 at 05:55 PM
i would make a new Java script like this:
function update () {
if(Input.Getbuttonup("fire1"))
animation.Play("Shoot");
}
instead of "shoot" you can put any other animation
Your answer
Follow this Question
Related Questions
Animation when mouse button is held down? 0 Answers
Animation Stop and Stay 1 Answer
enemy shoots with animation 1 Answer
Animation plays at original position? 1 Answer
Play animation when 2 keys pressed? 3 Answers