- Home /
Zooming animation doesn't work
Hello,
I have this script that is supposed to play the "zooming" animation ONCE when I have the right mouse button pressed. However, it keeps playing the animation again and again, as long as I have the button pressed. Any help?
This is my script: (and yes, I have set the animation "Zoom" to Once!)
#pragma strict
var running : boolean;
var zooming : boolean;
function Update () {
if( (Input.GetAxis("Horizontal") || Input.GetAxis("Vertical")) && !running )
{
animation.CrossFade("Walking", 0.2);
}
else if( (Input.GetAxis("Horizontal") || Input.GetAxis("Vertical")) && running )
{
animation.CrossFade("Running", 0.2);
}
if( Input.GetMouseButtonDown(1) )
{
zooming = true;
}
if( Input.GetMouseButtonUp(1) )
{
zooming = false;
}
if(zooming)
{
animation.Play("Zoom");
}
if(Input.anyKey == false)
{
animation.CrossFade("Idle", 0.2);
}
if(Input.GetButton("Run"))
{
running = true;
}
else
{
running = false;
}
}
Answer by samtperrin · Oct 19, 2013 at 04:05 PM
Looks like you need to set the animations wrap mode.
See the following links:
http://docs.unity3d.com/Documentation/ScriptReference/AnimationState-wrapMode.html http://docs.unity3d.com/Documentation/ScriptReference/WrapMode.html
What is the functionality you exactly require? Please explain in more detail. When you have the button pressed do you want the animation to play and then pause at the end? Like looking down the sights in an FPS?
Your answer
Follow this Question
Related Questions
Walking animation has wrong rotation 0 Answers
animation walk loops with a stop at the end 0 Answers
How do I stop my animation from looping while I hold down a key? 1 Answer
Animation Crossfade won't play but Animation Play does 1 Answer
Play one animation after another... need help with Queued 1 Answer