Unityが中断されたオブジェクトを設定し、キャラクターが落下をトリガーします

Unityが中断されたオブジェクトを設定し、キャラクターが落下をトリガーします

  public float time = 0f;//定义悬空失效时间
  private TargetJoint2D _targetJoint2D;//获取这个组件,给你想要悬空的物体加上TargetJoint2D组件,2d游戏是这个,3d游戏是TargetJoint
  private BoxCollider2D _boxCollider2D;//获取组件,该物体collider首先设置成istrigger=true。

 
  void Start()//得到该物体的这两个组件
  {
    
    
    _boxCollider2D = GetComponent<BoxCollider2D>();
    _targetJoint2D = GetComponent<TargetJoint2D>();
  }



 private void OnCollisionEnter2D(Collision2D collision)
  {
    
    

    if(collision.gameObject.tag=="Player")
    {
    
    
      Invoke("fall", time);//调用fall函数,使物体下降
    }
    
    if(collision.gameObject.tag=="enemy")
    {
    
    
      Destroy(gameObject);
    }
  }


void fall()
  {
    
    
    _targetJoint2D.enabled = false;//重力可以作用到物体
    _boxCollider2D.isTrigger = false;//触发器失效
  }

おすすめ

転載: blog.csdn.net/m0_48554728/article/details/114547400