如何在Unity3D游戏中添加多次击键(非多点触控!)输入?我很难找到任何有用的信息。
到目前为止我得到的是多点触控输入支持。这就是我用来做的事情:
private Vector2 _touchOrigin = -Vector2.one;
public bool TouchEnded(int touchCount = 1)
{
if (Input.touchCount != touchCount) return false;
Touch lastTouch = Input.GetTouch(touchCount - 1);
if (lastTouch.phase == TouchPhase.Began)
{
_touchOrigin = lastTouch.position;
}
else if (lastTouch.phase == TouchPhase.Ended && _touchOrigin.x >= 0)
{
_touchOrigin.x = -1;
return true;
}
return false;
}
我想要做的是写一个类似的方法,但多次点击。即用户必须同时轻击多个手指(touchCount)(tapCount)。这将是方法签名:
public bool TapEnded(int touchCount = 1, int tapCount = 2)
{
}
有人可以帮我解决一下如何使这项要求有效吗?
答案 0 :(得分:0)
您可以使用Input.Touches返回表示上一帧中所有触摸状态的对象列表。参考链接http://docs.unity3d.com/ScriptReference/Input-touches.html
void Update() {
int fingerCount = 0;
foreach (Touch touch in Input.touches) {
if (touch.phase != TouchPhase.Ended && touch.phase != TouchPhase.Canceled)
fingerCount++;
}
if (fingerCount > 0)
print("User has " + fingerCount + " finger(s) touching the screen");
}