【发布时间】:2016-10-04 16:01:26
【问题描述】:
我在 Unity 中制作了飞机射击游戏。首先我制作播放器,我已经制作了所有代码。而且效果很好。然后现在我想更改播放器对象。我已经放置了脚本,并给出了与我制作的使用过的播放器相同的名称和标签。碰撞是一团糟。我可以击落敌人。但敌人无法射击或击中我。敌人的子弹和穿过我的玩家对象的敌人。 我不知道为什么。请帮我找出问题所在。告诉我这个问题原因的可能性。 这是我的新对象组件的屏幕截图
【问题讨论】:
-
有太多的可能性可能是原因。您不能只给我们一个名义上的描述,并要求我们列出所有想到的东西。请提供用于碰撞处理的代码,以及玩家/敌人身上的组件以及您可能正在创建的任何射弹的想法。你的物体上有刚体吗?碰撞矩阵中是否禁用了某些碰撞?是否有任何对撞机被标记为触发器?你是在使用物理来移动你的对象,还是只是
Translate()?这个列表还在继续,一直在继续,因为在这个问题中没有足够的信息。 -
因为我确定代码没有错误。因为在我更改我的播放器对象之前一切正常。是的,我已经放置了刚体,但您没有将其标记为触发器。我正在使用代码让它移动
-
对于您提供的糟糕描述,以及将对象更改为另一个相同的基本问题,也许您在检查器中为某些脚本设置了您的播放器对象,现在,因为您更改了对象,不再链接
-
@NickyApriliani 底部有趣的异常 - GameObject 有未定义的标签?如果标签在您的碰撞处理中发挥作用,那可能非常相关。
-
不,我没有在另一个检查器中设置它,我只使用标签在代码@cjf93中调用播放器
标签: unity3d