Unity 如何在 Unity 中制作 Visual JoyStick
Posted
技术标签:
【中文标题】Unity 如何在 Unity 中制作 Visual JoyStick【英文标题】:Unity how to make a Visual JoyStick in Unity 【发布时间】:2016-10-04 04:04:26 【问题描述】:我正在编写一个脚本来放置一个按钮,该按钮将检测拖动方向以移动玩家
void OnGUI()
if (buttonRect.Contains(Event.current.mousePosition))
if (Event.current.type == EventType.MouseDown)
buttonPressed = true;
if (Event.current.type == EventType.MouseUp)
buttonPressed = false;
if (buttonPressed && Event.current.type == EventType.MouseDrag)
如果要将此脚本放置在按钮上,我怎样才能将按钮边界设置为矩形?
另外,如果有人有更好的通过拖动控制移动的解决方案,我会提出建议。
【问题讨论】:
OnGui 不应该用于新的开发。在现代统一版本中,它仍然存在用于调试目的和向后兼容性。来自the documentation:“IMGUI 系统通常不用于玩家可能使用和与之交互的普通游戏内用户界面” @ScottChamberlain 感谢您的提醒。你知道我如何实现拖动吗? 不确定它是否涵盖拖动,但这里是现代 UI 系统的the tutorial on Button。 谢谢,我去看看 正在尝试制作视觉操纵杆?请解释更多你正在尝试做的事情 【参考方案1】:您可以使用 Unity 新的 event 回调函数(例如 OnBeginDrag
OnDrag
和 OnEndDrag
函数)来实现自己的 Visual Joystick。已经为 Unity 制作了 Visual Joystick 包,因此实现您自己的包就像重新发明***一样。
你所要做的就是从Unity的UnityStandardAssets导入CrossPlatformInputManager
包,然后使用CrossPlatformInputManager.GetAxis("Horizontal")
和CrossPlatformInputManager.GetAxisRaw("Horizontal")
读取图像/拇指的方向。
从零开始,可以流this视频教程。
【讨论】:
如果你有时间,知道如何在不点击操纵杆的情况下实现跨游戏形式的滑动/拖动吗?【参考方案2】:如果您想要像物理操纵杆一样真正准确和自然的移动解决方案,请查看以下资产:
Ultra Precise D-Pad Joystick
【讨论】:
您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center。以上是关于Unity 如何在 Unity 中制作 Visual JoyStick的主要内容,如果未能解决你的问题,请参考以下文章