c# - 如何根据玩家距离使对象可点击?
问题描述
我需要在我的场景中使一个项目可点击,但只有当玩家靠近该项目时。在我的脚本中,我使有问题的项目自动转到一个空的 GameObject,它是层次结构中我的 Player 的子对象,以定义位置,但只要相机对其进行构图,就可以单击。我使用的是 2d 物理中提供的角色控制器,而不是 2drigidbody,所以我更加困惑,因为我不能使用对撞机。
解决方案
我很确定您可以在游戏对象上同时拥有角色控制器和对撞机(至少是触发对撞机)。
然后,您应该在更新循环中使用类似的东西,而不是使用任何东西来检测点击,Input.GetKeyDown(KeyCode.Mouse0)
并使用可以指定光线长度的光线投射。https://docs.unity3d.com/ScriptReference/Physics.Raycast.html
推荐阅读
- reactjs - 如何将 Web 应用程序的数据存储在可从任何设备访问的客户端?
- asp.net-mvc - 如何在 ASP.NET MVC 5 中的视图上将 ViewModel 拆分为两个列表
- java - 如何使用 mvn 命令从终端执行 @SpringBootTest?
- java - 功能接口作为方法参数
- distributed - 多节点的拜占庭一般问题
- memory - Limit available memory to a program
- wso2is - 负载均衡器上带有证书的集群 WSO2IS?
- wordpress - Wordpress 直播插件
- c# - 如何在 Xamarin iOS 13.2 应用程序中禁用弹性反弹?
- c# - Akka.Net 中的 UntypedActor 和 ReceiveActor 有什么区别?