我尝试用Unity制作光标,它会随着键盘输入而移动。它会随着WSAD键移动,并通过Q键发送触摸事件。所以我想做的是:
if (Input.GetKeyDown(KeyCode.Q)
{
// Is identical to touch/click the given position of screen for this frame.
SendTouchEvent(currentCursorPos);
}
检测触摸非常容易,但我如何人为地 * 制造 * 触摸事件?
复制粘贴我已经存在的输入处理程序(例如,在触摸位置上使用光线投射)也是一种解决方案,但我认为会有更清晰的解决方案。
2条答案
按热度按时间nvbavucw1#
它远非完美,但这里是一个起点,你可以做什么与旧的输入系统。
将
KeyCode
的值设置为您喜欢的任何值。在我的示例中,我将UI图像设置为光标,并将画布渲染器设置为Overlay
,因此坐标已经在屏幕空间中。我用此脚本替换了场景EventSystem
上的InputModule
。下面是脚本的gif:
我使用
wasd
在屏幕上移动我的假光标,当我点击space
时,它模拟了假光标位置上的点击事件。ncecgwcz2#
作为上述答案的替代方法,Unity有一个“输入系统“包来调试输入。
这里是如何得到它&设置;
1-打开窗口-〉软件包管理器x1c 0d1x
2-安装输入系统软件包
3-现在您将能够在Window -〉InputDebugger下看到输入调试器
4-打开Input Debugger并点击Options -〉Simulate Touch Input From Mouse or Pen
成交!