Unity如何在Unity中制作Visual JoyStick

我正在写一个脚本来放一个button,将检测拖动方向来移动播放器

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) { } } 

如果这个脚本被放置在一个button上,我怎样才能得到button界限为一个矩形?

此外,如果任何人有一个更好的解决scheme,通过拖动控制运动,我会开放的build议。

您可以使用Unity新事件callback函数(如OnBeginDrag OnDragOnEndDrag函数)来实现自己的Visual Joystick。 Unity中有一个已经制作好的Visual Joystick包,所以实现你自己的就像重新发明轮子一样。

CrossPlatformInputManager从Unity的UnityStandardAssets导入CrossPlatformInputManager软件包,然后使用CrossPlatformInputManager.GetAxis("Horizontal")CrossPlatformInputManager.GetAxisRaw("Horizontal")读取图像/大拇指的方向。

从头开始,你可以stream这个video教程。