- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 Unity3D 5 的全新新手,我在玩我的第一款涉及碰撞检测的 2D 游戏时遇到了问题。我的移动对象是一个球,它有 Rigidbody2D 和 CircleCollider2D。我的固定“对撞机或触发器”是一个 BoxCollider 并附有一个脚本。 OnTriggerEnter2D 应该在球穿过固定框时触发。我也尝试过 OnCollisionEnter2D,但我相当确定我应该使用 OnTriggerEnter2D,因为我的固定框被标记为触发器。
我的代码:
public class LoseCollider : MonoBehaviour {
public LevelManager levelManager;
void OnCollisionEnter2D(Collision2D collision)
{
print("collide");
levelManager.LoadLevel("Lose");
}
void OnTriggerEnter2D(Collider2D trigger)
{
print("trigger");
levelManager.LoadLevel("Lose");
}
void OnCollisionEnter(Collision collision)
{
print("collide");
levelManager.LoadLevel("Lose");
}
void OnTriggerEnter(Collider trigger)
{
print("trigger");
levelManager.LoadLevel("Lose");
}
}
如您所见,我正在测试所有变体,但没有一个被调用。这是我的对象的 Unity 属性:
和
我确定我遗漏了一些简单的东西,如果有人可以向我指出。
最佳答案
如果您要使用 OnTriggerEnter2D
,您还必须使用 2D Collider。如第二个屏幕截图所示,您目前正在使用 BoxCollider
。
将其更改为 BoxCollider2D
并且应该调用您的 Collision 回调函数。
关于c# - 碰撞后不调用Unity5 OnTriggerEnter2D(2D游戏),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43698271/
我正在尝试通过使用 OnCollisionEnter() 在碰撞时禁用其刚体来制作粘性手榴弹。但是,OnCollisionEnter() 会在明显没有发生碰撞时触发,如您在这张图片中所见:https:
我有一个玩家(球体)和 4 个敌人(胶囊)。所有敌人都添加了角色 Controller 。他们也都有一个子游戏对象,它有一个刚体(没有质量,没有重力)和一个盒子碰撞器。 Box Collider 足够
我正在制作某种 Evolution 模拟游戏。我有一个脚本,应该在生物的 CapsuleCollider 触发 OnTriggerEnter() 时销毁它所附加的 GameObject。 我有一个问题
我目前正在尝试在 Unity 中创建一个 2D 游戏,我的玩家在他的上半部分有一个盒子碰撞器,在他的下半部分有一个圆形碰撞器;这可以平滑坡道和其他东西。 当我收集一颗 gem 时,我的 OnTrigg
public class Storm : MonoBehaviour { [SerializeField] private PlayerVitals playerVitals; [Se
我正在尝试对 2D 角色和对撞机对象进行碰撞。我已经定义了 OnTriggerEnter 函数以在输入触发器时在调试器中显示一条消息。该角色是 Unity 标准 Assets 包中的“Characte
我有一个附在盒子上的脚本,盒子有两个用于物理的碰撞器和一个(稍大一点)用于在我的玩家走过它时检测 OntriggerEnters。我有一个脚本附加到执行以下操作的框: public class Col
所以,我正在尝试进行无限跳线,但出于某种原因,OnTriggerEnter2D 函数 rb2D 给了我一个错误,即使我已尽一切努力使其正常工作(至少我是这么认为的,因为每次我这样做时它都会起作用。)错
我在使用“Unity in Action”一书时偶然发现了一个问题。在第 3 章结束时,您将了解简单 fps 游戏的基础知识。它基本上是一个简单而小的水平的播放器(连接到它的相机),它只存在于形成墙壁
我正在尝试检测在篮球比赛中 throw 戒指的球。我在环上使用以下脚本 public class Anotar : MonoBehaviour { private ControlJuego c
我在简单的弹道学方面遇到了一些问题。由于我是编码新手,而且我浪费了 2 天的时间进行搜索,所以我决定问一个问题。我的 bullet.cs 脚本有问题,代码工作正常,除了跳弹部分。我使用 OnTrigg
我正在尝试让标有“Bullet”的项目符号项目击中此代码所附加的目标。我在项目符号上勾选了 Is Trigger。碰撞在目标上起作用,因为我可以与玩家一起击中它。任何帮助将不胜感激。 void OnT
几个小时以来,我一直在努力寻找解决方案。我正在努力学习,但我一直被困在这个单一的问题上。我有随机移动的红色生物,我希望它们在与绿色物体碰撞时克隆自己。这是附加到绿色对象的脚本。 using Syste
我正在尝试确定播放器何时接地,并且使用桌面播放器,下面描述的方法非常有效,但是当编译到 Android 时表现相当奇怪,我不确定它是否只是延迟或什么,但它正在更新的 bool 很少是它应该是的。 判断
我最近遇到的一个问题如下。 我有一个 Player 对象,上面附加了一个 Player 脚本。 我的游戏对象层次结构看起来像这样: Player (parent) // Has P
好的,所以我看不出我的问题在哪里。我将 OnTriggerEnter 用于我的移动平台。它具有刚体组件,并且在平台和播放器上都将盒子碰撞器设置为 isTrigger,但由于某种原因,当我的平台被播放器
我是一名优秀的程序员,十分优秀!