Unity Rigidbody2D 突然失灵怎么办

我在写Unity代码时突然发现弹开代码失灵了,我刚学c#,不知道怎么回事,麻烦大家看一下。
代码

private void OnCollisionEnter2D(Collision2D other) {
       if(other.gameObject.tag == "Enemies"){
            if(anim.GetBool("falling")){
                Destroy(other.gameObject);
                anim.SetBool("jumping", true);
                body.velocity = new Vector2(body.velocity.x, jump*Time.deltaTime);//正常
            }if(transform.position.x < other.gameObject.transform.position.x){
                isHurt = true;
                body.velocity = new Vector2(-10,body.velocity.y);//可以受到伤害,但弹不开
            }if(transform.position.x > other.gameObject.transform.position.x){
                isHurt = true;
                body.velocity = new Vector2(10,body.velocity.y);//同上
            }
        }
    }
/*
body = GetComponent<Rigidbody2D>();
anim = GetComponent<Animator>();
*/

失灵是什么意思啊? 你指的是if判断的条件没进去,还是条件进去了,代码执行了,但是没有达到预期效果?
建议: 断点或者添加日志看一下,条件进没进去。逻辑执行是否正确。 或者是你修改了碰撞体的isTrigger属性?