使用动画图状态机,然后重复执行一个动作会卡住

3.8.3
比方说我点击攻击按钮,执行 animationController.setValue(“isAttack”,true);
在动画帧回调里最后一帧,添加帧事件,调用方法把animationController.setValue(“isAttack”,false);
快速点击三次这个按钮动画就会卡住不动了。打印出来isAttack是true。
我试了判断animationController.getValue(“isAttack”)===true就不setValue,但是也不行。
因为isAttack=false后 ,转换状态还要时间。只有等状态变更后再次=true才行。
感觉我处理起来好复杂,
有没有简单好用的解决办法。

我想到的办法就是防止这个按钮重复快速点击。不知道思路对不对。

我试了下边这种方法,快速点击也不会导致动画卡住。不知道会不会有其他问题。
判断一下当前的动画剪辑 。
let clipStatuses = this._animationController.getCurrentClipStatuses(0)
//
for (const value of clipStatuses) {
console.log(value.clip.name);
if(value.clip.name===“player_attack”) {
return;
}
}
this._animationController.setValue(“isAttack”, true);