- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我目前正在尝试在 Unity 中创建一个 2D 游戏,我的玩家在他的上半部分有一个盒子碰撞器,在他的下半部分有一个圆形碰撞器;这可以平滑坡道和其他东西。
当我收集一颗 gem 时,我的 OnTriggerEnter 函数会因为我的两个碰撞器而调用两次,除非我是从上面落到它上面或从下面跳到它上面,因为一个碰撞器明显先于另一个碰撞器接触到它。
有没有办法将碰撞器合并到一个检查中,这样它们就不会重叠?
最佳答案
假设您不想让 Box 和 Circle collider 的大小不同。向具有变量“isUsed”的 Gem 添加脚本,并在发生碰撞时将其设置为 true。这样下次如果发生碰撞,就可以忽略不计。
void OnTriggerEnter2D(Collision2D other)
{
if(other.gameObject.CompareTag("gem")){
GemScript gemScript = other.gameObject.GetComponent<GemScript>();
if(!gemScript.isUsed){
DO YOU STUFF HERE
gemScript.isUsed = true;
}
}
}
关于c# - OnTriggerEnter 调用两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55506630/
我正在尝试通过使用 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,但由于某种原因,当我的平台被播放器
我是一名优秀的程序员,十分优秀!