在 Unity C# 中将控件从鼠标更改为触摸
Change controls from mouse to touch in Unity C#
我正在尝试创建一个跟随滑动方向的旋转轮。目前,它适用于鼠标控制,但我未能使该脚本适用于触摸控制。知道怎么做吗?
脚本:
void Update ()
{
if (Input.GetMouseButtonDown(0))
{
f_difX = 0.0f;
}
else if (Input.GetMouseButton(0))
{
f_difX = Mathf.Abs(f_lastX - Input.GetAxis ("Mouse X"));
if (f_lastX < Input.GetAxis ("Mouse X"))
{
i_direction = -1;
transform.Rotate(Vector3.up, -f_difX);
}
if (f_lastX > Input.GetAxis ("Mouse X"))
{
i_direction = 1;
transform.Rotate(Vector3.up, f_difX);
}
f_lastX = -Input.GetAxis ("Mouse X");
}
else
{
if (f_difX > 0.5f) f_difX -= 0.05f;
if (f_difX < 0.5f) f_difX += 0.05f;
transform.Rotate(Vector3.up, f_difX * i_direction);
}
}
谢谢。
看看这个话题:http://answers.unity3d.com/questions/504707/replace-input-get-axis-horizontal-with-touch-input.html,第一个回答。
link 提供了一个代码片段,展示了如何使用计算出的位置增量来替换 Input.GetAxis。
我正在尝试创建一个跟随滑动方向的旋转轮。目前,它适用于鼠标控制,但我未能使该脚本适用于触摸控制。知道怎么做吗?
脚本:
void Update ()
{
if (Input.GetMouseButtonDown(0))
{
f_difX = 0.0f;
}
else if (Input.GetMouseButton(0))
{
f_difX = Mathf.Abs(f_lastX - Input.GetAxis ("Mouse X"));
if (f_lastX < Input.GetAxis ("Mouse X"))
{
i_direction = -1;
transform.Rotate(Vector3.up, -f_difX);
}
if (f_lastX > Input.GetAxis ("Mouse X"))
{
i_direction = 1;
transform.Rotate(Vector3.up, f_difX);
}
f_lastX = -Input.GetAxis ("Mouse X");
}
else
{
if (f_difX > 0.5f) f_difX -= 0.05f;
if (f_difX < 0.5f) f_difX += 0.05f;
transform.Rotate(Vector3.up, f_difX * i_direction);
}
}
谢谢。
看看这个话题:http://answers.unity3d.com/questions/504707/replace-input-get-axis-horizontal-with-touch-input.html,第一个回答。
link 提供了一个代码片段,展示了如何使用计算出的位置增量来替换 Input.GetAxis。