unity 设置悬空物体,人物触发下落

这篇博客介绍了如何在Unity中设置物体悬空,并在人物触发时使其下落。通过TargetJoint2D组件和BoxCollider2D组件,配合Invoke函数实现触发后一段时间内物体失去悬空状态并受到重力影响。同时,物体遇到特定敌人会自动销毁。
摘要由CSDN通过智能技术生成

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;//触发器失效
  }
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值