你能从 OnMouseDown 和 OnMouseUp 得到手指的位置吗?
Can you get finger position from OnMouseDown and OnMouseUp?
在 2D 布局上,有一个固定在适当位置的类似按钮的 GameObject,它有一个带有 OnMouseDown 和 OnMouseUp
功能的脚本:触摸它然后将手指移开并释放,可以 OnMouseUp
得到相应的手指在屏幕上的释放位置?
问题是:它是多人游戏,屏幕上有很多其他手指!
简短回答是。然而,这与多点触控有点混淆。基本上你可以随时获得 mouse
或 finger
位置。如果需要,您可以实时跟踪它并随时轻松显示鼠标的位置。 Input.MousePosition
变量很容易获取。当您有多个 mouse
或 finger
时,问题就来了,因为您需要跟踪哪根手指向上,哪根手指仍然向下。尽管如此,如果您设置正确,它应该可以工作,只是需要更多的努力。不过,我的建议是,如果您处理不止一次触摸,请在资产商店中免费使用 Standalone MultiTouch Input Module.,我为您提供了一个 link。非常简单。
你 不应该 为此使用 OnMouseDown
和 OnMouseUp
回调函数,因为这需要你使用 [= 获得触摸位置13=] 在台式机上,Input.touches
在移动设备上。
这应该通过 OnPointerDown
和 OnPointerUp
函数来完成,它们为您提供 PointerEventData
作为参数。您可以使用 PointerEventData.position
访问那里的指针位置。它可以在移动和桌面设备上运行,而无需为每个平台编写不同的代码。请注意,您必须实现 IPointerDownHandler
和 IPointerUpHandler
接口才能调用这些函数。
public void OnPointerDown(PointerEventData eventData)
{
Debug.Log("Mouse Down: " + eventData.position);
}
public void OnPointerUp(PointerEventData eventData)
{
Debug.Log("Mouse Up: " + eventData.position);
}
如果您 运行 遇到问题,您可以随时访问 post 上的故障排除部分以了解原因。
在 2D 布局上,有一个固定在适当位置的类似按钮的 GameObject,它有一个带有 OnMouseDown 和 OnMouseUp
功能的脚本:触摸它然后将手指移开并释放,可以 OnMouseUp
得到相应的手指在屏幕上的释放位置?
问题是:它是多人游戏,屏幕上有很多其他手指!
简短回答是。然而,这与多点触控有点混淆。基本上你可以随时获得 mouse
或 finger
位置。如果需要,您可以实时跟踪它并随时轻松显示鼠标的位置。 Input.MousePosition
变量很容易获取。当您有多个 mouse
或 finger
时,问题就来了,因为您需要跟踪哪根手指向上,哪根手指仍然向下。尽管如此,如果您设置正确,它应该可以工作,只是需要更多的努力。不过,我的建议是,如果您处理不止一次触摸,请在资产商店中免费使用 Standalone MultiTouch Input Module.,我为您提供了一个 link。非常简单。
你 不应该 为此使用 OnMouseDown
和 OnMouseUp
回调函数,因为这需要你使用 [= 获得触摸位置13=] 在台式机上,Input.touches
在移动设备上。
这应该通过 OnPointerDown
和 OnPointerUp
函数来完成,它们为您提供 PointerEventData
作为参数。您可以使用 PointerEventData.position
访问那里的指针位置。它可以在移动和桌面设备上运行,而无需为每个平台编写不同的代码。请注意,您必须实现 IPointerDownHandler
和 IPointerUpHandler
接口才能调用这些函数。
public void OnPointerDown(PointerEventData eventData)
{
Debug.Log("Mouse Down: " + eventData.position);
}
public void OnPointerUp(PointerEventData eventData)
{
Debug.Log("Mouse Up: " + eventData.position);
}
如果您 运行 遇到问题,您可以随时访问