我正在地图上填充3d标记。下一个目标是检测正在单击哪个标记。附加UI按钮与每个标记,但这不是一个好办法。有人能提出更好的建议吗?
发布于 2017-03-06 07:11:23
你的标记有对撞机吗?如果是这样的话,那么您可以在附加到游戏对象的脚本组件中使用OnMouseDown函数,只要它有对撞机组件。
否则,您可以使用http://answers.unity3d.com/questions/34795/how-to-perform-a-mouse-click-on-game-object.html中的这个片段
function Update ()
{
if ( Input.GetMouseButtonDown(0))
{
var hit : RaycastHit;
var ray : Ray = Camera.main.ScreenPointToRay (Input.mousePosition);
if (Physics.Raycast (ray, hit, 100.0))
{
// handle mouseclick
}
}
}发布于 2017-03-06 07:13:26
您可以在游戏对象中附加对撞机并使用Physic.RayCast进行检测:
https://docs.unity3d.com/ScriptReference/Physics.Raycast.htmlhttps://stackoverflow.com/questions/42619479
复制相似问题