- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
所以,我正在尝试进行无限跳线,但出于某种原因,OnTriggerEnter2D
函数 rb2D
给了我一个错误,即使我已尽一切努力使其正常工作(至少我是这么认为的,因为每次我这样做时它都会起作用。)错误在哪里或者我在代码中遗漏了什么?
public class PlayerMovement : MonoBehaviour {
Rigidbody2D rb2D;
void Start()
{
rb2D = GetComponent<Rigidbody2D>();
}
void Update()
{
}
void OnTriggerEnter2D(Collider2D other)
{
other.rb2D.velocity = Vector2.zero;
other.rb2D.AddForce(Vector2.up * jumpHeight, ForceMode2D.Impulse);
}
最佳答案
这可能是因为您的 other
上没有 rb2D 组件,只有您的游戏对象附加了此脚本。
other
是一个 Collider2D
类型,它不包含你的 刚体定义 rb2d
我相信你的代码应该是:
other.velocity = Vector2.zero;
other.AddForce(Vector2.up * jumpHeight, ForceMode2D.Impulse);`
注意 - 我认为 velocity
也不是 Collider2D
的一部分 - 查看文档 here .
关于c# - rigidbody OnTriggerEnter 给我一个错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36719501/
我正在尝试通过使用 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,但由于某种原因,当我的平台被播放器
我是一名优秀的程序员,十分优秀!