为什么我的“角色”仍在游戏对象中移动而不是破坏游戏对象

时间:2020-06-06 04:50:53

标签: c# unity3d

我似乎无法与Character发生碰撞,导致游戏对象自行毁灭。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class CollectItem: MonoBehaviour
{
  void OnCollisionEnter(Collision collision){
  if(collision.gameObject.name == "Character"){
      Destroy(gameObject);
  }
}
}

1 个答案:

答案 0 :(得分:1)

可能有多种原因:

  1. 您可能没有要收藏的物品的对撞机。
  2. 您可能没有对角色对象附加碰撞器。
  3. 一个或两个对撞机都可以设置为触发器(在这种情况下,只有一个应作为触发器,您将需要使用OnTriggerEnter方法并确保触发器对象具有Rigidbody组件)
  4. 字符对象的名称拼写错误。

作为一个补充说明,比较字符串时,应始终使用Equals方法,即冲突.gameObject.name.Equals(“字符”)。不过,这不是您的问题。