- Editado
顺便我想问一下:同时注册多个事件,注册多次事件会导致unity崩溃吗
例如:
private void OnEnable()
{
Idleanimator.AnimationState.Start += JumpMethod;
Idleanimator.AnimationState.Complete += IdleAnimalComplete;
Idleanimator.AnimationState.End += IdleAnimalEnd;
Idleanimator.AnimationState.Event += CrouchPause;
attackAnimator.AnimationState.Complete += AttckAnimalComplete;
attackAnimator.AnimationState.End += AttckAnimalComplete;
attackAnimator.AnimationState.Complete += ResetEventCount;
attackAnimator.AnimationState.Event += HandleAnimationEvent;
attackAnimator.AnimationState.Start += AttackStart;
attackAnimator.AnimationState.End += ResetEventCount;
}
private void OnDisable()
{
Idleanimator.AnimationState.End -= IdleAnimalEnd;
Idleanimator.AnimationState.Complete -= IdleAnimalComplete;
attackAnimator.AnimationState.Event -= HandleAnimationEvent;
attackAnimator.AnimationState.Complete -= AttckAnimalComplete;
attackAnimator.AnimationState.Complete -= ResetEventCount;
attackAnimator.AnimationState.End -= ResetEventCount;
attackAnimator.AnimationState.End -= AttckAnimalComplete;
Idleanimator.AnimationState.Event -= CrouchPause;
Idleanimator.AnimationState.Start -= JumpMethod;
Idleanimator.AnimationState.Start -= CrouchMechod;
}
我发现:
attackAnimator.AnimationState.Complete += AttckAnimalComplete;
attackAnimator.AnimationState.End += AttckAnimalComplete;
会导致崩溃,AttckAnimalComplete函数只是负责了动画结束时设置一些状态为false;因此我希望在End和Complete都使用,但是却导致了崩溃