ontrigger2d似乎每一帧都被调用了一次?
unity3d吧
全部回复
仅看楼主
level 3
13138号小T
楼主
当攻击的碰撞箱碰到敌人butterfly的碰撞箱之后,调用脚本enemybutterfly里takedamage这个函数,使butterfly的health-1,但实测发现每次攻击都会减15-17次health,看上去就是两个碰撞箱触碰期间会持续触发这个函数,请问这是为什么,怎么解决
2022年10月07日 06点10分
1
level 3
13138号小T
楼主
我思考和测试了以下判断应该是触发攻击碰撞箱的IF语句的原因?
if (move.GetBool("attak"))
{
Attakcollider.enabled = true;
}
我的思路是如果接收到动画控制器中“attak”的bool值则开启碰撞箱Attakcollider,但是if语句是每一帧都持续执行的,所以碰撞箱的状态也变成了类似每一帧都在更新的状态,所以导致了ontriggerenter2d也在每一帧都执行了一次?业余学的不是很懂请大佬指教
2022年10月07日 07点10分
2
level 3
13138号小T
楼主
害,我自己用动画关键帧开启碰撞箱解决这个问题了,看来有时候不适合用if来开启碰撞箱
2022年10月07日 07点10分
3
🌿壬云吾云🔥
动画帧针不戳
2022年10月07日 08点10分
1