- Home /
UI button pressed animation not playing directly after entering
Whenever I click the button directly after entering it with the mouse the animation won't play instead the highlighted state is triggered twice, if i wait for a second it does play normally. Is this a bug with unity?
It is playing when you press a button, try to rest it before play with animator.Play("Highlighted") or stop looping of animation by uncheck loop box in animation file
Answer by Shiro_Rin · May 02, 2017 at 07:41 PM
Remove all transition arrows. You could also add into a script the following
public void SetStateNum (int num) {
if(num == 0){
animator.Play ("Normal");
}
if(num == 1){
animator.Play ("Highlighted");
}
if(num == 2){
animator.Play ("Pressed");
}
}
Add this script to your button with the Animator. Make sure to reference the animator.
Now on the button add an EventTrigger. Add PointerEnter, PointerDown, and PointerExit.
Now add New Transtion arrows from Pressed to Highlight.
PointerEnter should SetStateNum to 1. This will play highlight and keep it there.
Then PointerDown should call SetStateNum to 2. This will play Pressed and because of the transition arrow, it'll go back to Highlighted after playing.
Now finally when exiting the button, it will go back to normal because we will be using SetStateNum to 0.
Answer by ImFromTheFuture · Oct 22, 2020 at 06:07 PM
For future readers: This is mostly caused by the "hasExitTime" variables. I think there is some issue in those in the OP's case.
If you want the animation to change immediately, you should turn off "hasExitTime" entirely. As a precaution, before turning off the "hasExitTime", I also set the "transitionDuration" to 0 "exitTime" to "0"
Your answer
Follow this Question
Related Questions
Animator has not been initialized?? 3 Answers
How do I play an animation once on button click? 1 Answer
Animation bug when click and hold on Button edge 1 Answer
UI Button Pressed color motion don't reset to Normal color 1 Answer
How to prevent highlighted animation from interrupting pressed animation on UI button 0 Answers