当前位置: 首页 > 知识库问答 >
问题:

有没有办法让两个触发游戏对象碰撞?

年健
2023-03-14

这是一场2D的比赛。

我有一个玩家可以发射触发弹(使用触发碰撞器)和敌人也可以这样做。当玩家的炮弹与敌人相撞时,会发生一些事情,反之亦然。然而,当玩家射弹和敌人射弹发生碰撞时,它们只是忽略碰撞,彼此穿过,什么也没有发生。它们也有一个刚体2D,具有连续碰撞检测。

有没有办法让这两个带有触发器碰撞器的游戏对象发生碰撞?

这是我为敌人射弹脚本准备的:

void OnTriggerEnter2D( Collider2D other ){
    if (other.gameObject.name == "Ground"){ 
        Destroy (gameObject);
    } 
    else if (other.gameObject.name == "Player"){
        other.gameObject.GetComponent<RControlScript>().RHealth = other.gameObject.GetComponent<RControlScript>().RHealth - damage;
        Instantiate(transformInto, gameObject.transform.position, gameObject.transform.rotation);
        Destroy (gameObject);
    } 
    else if(other.gameObject.name == "Shot"){
        Destroy (gameObject);
    }
}

“射击”是玩家射弹的名称,是不与敌人射弹碰撞的游戏对象。

共有2个答案

谭奕
2023-03-14

好吧,事实证明两个触发器碰撞器确实会碰撞。我的问题是实例化的射弹是克隆的,因此它的名称="Shot(clone)"。为了让事情发生,必须改变它。

袁成化
2023-03-14

是的。

下面是一个图表,告诉您哪些内容与 Unity3d 中的内容发生冲突。

 类似资料:
  • 我一直试图找到一个简单的解决办法。 我有一个显示项目列表的for循环。单击其中一个项目会将您转到详细组件,我只希望所选项目在详细组件中可用。出于某种原因,没有简单的解决方案(据我所知)。我希望会有这样的事情: `` 这就是我想要的。但是,这当然行不通。 我错过什么了吗?

  • 所以我正在做一个需要xml模式的小项目,我对这个模式很不熟悉。 我希望能够设置模式以在两组属性之间进行选择,根据我的研究,这在XSD 1.0中是不可能的,但显然是XSD 1.1的一个特性。 目前我正在使用VisualStudio来完成我的工作,它似乎被困在XSD1.0模式中,这是有意义的,因为XSD1.1显然是一个最新的开发。 我的问题是,是否有一个插件/扩展可以让我在Visual Studio中

  • 由于没有快速的lambda计算器,我使用上面的策略将非类型化lambda演算的术语编译为Haskell,以便快速计算它们。我对它的性能印象深刻:该程序创建了一个从到的数字列表,并在我的计算机上在不到一秒钟的时间内将它们相加。这比我预期的要快得多--只比Haskell直接等价物慢4倍--并且足以对我的目标有用。但是,请注意,为了满足类型系统的需要,我必须将函数和术语包装在fun/num构造函数下面。

  • 我刚开始编程(就像非常新的一样),我决定为我最喜欢的RPG《吸血鬼面具》制作一个骰子滚轮。对于那些不知道的人来说,当你想在VtM中掷骰子时,你可以制作d10(十面骰子)的骰子池,然后根据你掷的“成功”数量决定你是否成功;任何骰子结果为6或更多。 到目前为止,我已经成功制作了一个只掷d10的基本压路机: 然而,我在让程序计算成功的次数时遇到了麻烦。我希望输出看起来像这样 有什么建议吗?

  • 问题内容: 我正在尝试使用Swift(不是Xcode项目)编写脚本。需要明确的是,我文件的第一行是 我只是从命令行调用它。 但是,我无法弄清楚该脚本如何使用另一个.swift文件中的代码。它不会从同一目录中拾取它,而且我看不到任何方法。 支持吗? 问题答案: 有更好的方法! 如果您要从中导入文件,将像:

  • 更新: 谢谢所有的帮助。我将总结一下答案。 从@Jayde开始,他的回答成功地将结果减少到0.09秒,并且与限制中的数字成线性关系。 选择*from(选择table1.id作为table1\u id,从table1中选择table1.id 在@Rick James中,他提到这可能是表2的问题。因为我的表2只有几列,所以我可以省略它,自己进行连接,即使是在客户端! 所以我去掉了表2,它只有0.02s