unity3d - 当对象是另一个对象的子对象时,它是不可点击的
问题描述
所以,我统一编写了一个简单的代码,当使用这个简单的代码单击对象时输出“clicked”:
private void OnMouseDown()
{
Debug.Log("clicked");
}
单击时它会显示消息,但是当同一个对象是另一个对象的子对象时,它是不可单击的并且不显示消息。
当它是一个孩子时,我如何使它可以点击?
解决方案
您应该始终注意父对象的碰撞器。当您的子对象的对撞机在父对象的对撞机内时,OnMouseDown 触发器只会击中它(很好)碰撞的第一个对撞机。您需要可以访问子对象的对撞机。您可以取消激活父对象的碰撞器。您可以放大子对象的对撞机。或者您编写自己的方法,该方法仅检查具有给定标签的碰撞器。
推荐阅读
- php - 如何在 laravel 中使用 Eloquent groupBy 和 orderBy?
- monit - Monit 无法启动/停止服务
- spring-boot - 没有 URL 映射的 Spring 自定义 Startup Servlet 被调用
- excel - excel条件格式参考取决于单元格值
- django - React 限制对特定用户的访问
- c# - 在子类的覆盖函数中使用子接口
- sql - 使用数据集中的路径名将图像插入 SSRS 报告
- javascript - 按字段名获取 JSON 数组数据
- php - 我应该为我的学说模型使用抽象类还是接口?
- angular - (chartInit) 在 Karma/Jasmine 测试中无法正常工作