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

问题描述 投票:-1回答:1

我似乎无法与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);
  }
}
}
c# unity3d
1个回答
1
投票

可能有多种原因:

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

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

© www.soinside.com 2019 - 2024. All rights reserved.