我在游戏中遇到对撞机和刚体时遇到了麻烦。
我有一个加电功能,当玩家触摸时,会为玩家提供武器升级,只需使用onTriggerEnter2D()
并将加电功能上的对撞机设置为触发器即可实现。但是问题在于扳机甚至都没有检测到玩家正在跑步的地面对撞机,它只是掉落在地面上。
当我禁用对撞机上的触发器时,生成的通电会掉落在地面上并照常停留在其上,但是玩家无法将其拾起,因为它只是被推向四周而不是被冲破
我的敌人也有类似的问题,应该杀死玩家接触。当我将对撞机设置为触发器时,它们会按预期杀死玩家,但由于它们具有触发器对撞机,因此会掉落地面。但是,当我删除触发选项时,敌人会像往常一样在地面上奔跑,但是却永远不会碰到玩家,因为敌人的对撞机和玩家的对撞机会相互推开,而游戏对象实际上不会碰到。
如何解决这个问题?
谢谢
答案 0 :(得分:1)
您可以使用方法OnCollisionEnter2D(Collision)
来检测与非触发对撞机的碰撞,而不是OnTriggerEnter2D()
,它仍将使您的对象与地板碰撞而不掉落。 / p>