- Home /
Random attack animations in java.
Ok so i have all my animations set up. And i have my attack animations in an Array. When i try to make a Random.Range(0,2) in the animation.CrossFade it just spams numbers. Is there any way to slow down the rate that the random numbers come? I want to halt the generating of a new number until my current animation is done.
if(dist <= atkDist)
{
animation.wrapMode = WrapMode.Once;
rand = Random.Range(0,2);
if(rand == 0)
{
animation.CrossFade(at[0]);
}
else
animation.CrossFade(at[1]);
}
This is called in a seperate function, this just make the animations cross over like 10000 times per second. Any help would be nice.
Answer by Scribe · Dec 04, 2010 at 05:54 PM
i think you can use:
Animation.CrossFadeQueued @ file:///Applications/Unity/Unity.app/Contents/Documentation/Documentation/ScriptReference/Animation.CrossFadeQueued.html
instead of
animation.CrossFade to make it wait until one animation has finished
function Update () {
animation.wrapMode = WrapMode.Once;
var rand = Random.Range(0,2);
if(rand == 0)
{
animation.CrossFadeQueued("0", 0.3, QueueMode.PlayNow);
}
else {
animation.CrossFadeQueued("1", 0.3, QueueMode.PlayNow);
}
}
It did not work, if i change it to that he does nothing, no animation is played that is.
Your answer
![](https://koobas.hobune.stream/wayback/20220613085651im_/https://answers.unity.com/themes/thub/images/avi.jpg)
Follow this Question
Related Questions
The name 'Joystick' does not denote a valid type ('not found') 2 Answers
Is it possible to manipulate Mecanim state machine / blend trees from scripting? 0 Answers
No movement when animation plays (2d) 1 Answer
Created Animations only play half within Animator 0 Answers
Resetting a combo attack chain if next attack did not occur in time 1 Answer