Samsung Gear Vr - 处理后退按钮点击
Samsung Gear Vr - handle back button clicks
如何处理后退键单击,长按暂停游戏,再次按下会破坏游戏
我认为后退按钮映射到鼠标按钮 1,因此您应该可以通过以下方式选择它:
Input.GetMouseButtonDown (1);
要检测双击或长按,您可以分别测量每次点击之间的时间或按下按钮的时间。我从来没有尝试过这个,但它可能类似于设置一个变量来保存时间间隔并检查第二次点击是否发生在该时间内。
-编辑-
我刚刚找到了另一个关于此 here 的讨论,其中包含一些应该有所帮助的示例,例如
if(Input.GetMouseButtonDown(0))
{
_buttonDownPhaseStart = Time.time;
}
if (_doubleClickPhaseStart > -1 && (Time.time - _doubleClickPhaseStart) > 0.2f)
{
Debug.Log ("single click");
_doubleClickPhaseStart = -1;
}
if( Input.GetMouseButtonUp(0) )
{
if(Time.time - _buttonDownPhaseStart > 1.0f)
{
Debug.Log ("long click");
_doubleClickPhaseStart = -1;
}
else
{
if (Time.time - _doubleClickPhaseStart < 0.2f)
{
Debug.Log ("double click");
_doubleClickPhaseStart = -1;
}
else
{
_doubleClickPhaseStart = Time.time;
}
}
}
如何处理后退键单击,长按暂停游戏,再次按下会破坏游戏
我认为后退按钮映射到鼠标按钮 1,因此您应该可以通过以下方式选择它:
Input.GetMouseButtonDown (1);
要检测双击或长按,您可以分别测量每次点击之间的时间或按下按钮的时间。我从来没有尝试过这个,但它可能类似于设置一个变量来保存时间间隔并检查第二次点击是否发生在该时间内。
-编辑- 我刚刚找到了另一个关于此 here 的讨论,其中包含一些应该有所帮助的示例,例如
if(Input.GetMouseButtonDown(0))
{
_buttonDownPhaseStart = Time.time;
}
if (_doubleClickPhaseStart > -1 && (Time.time - _doubleClickPhaseStart) > 0.2f)
{
Debug.Log ("single click");
_doubleClickPhaseStart = -1;
}
if( Input.GetMouseButtonUp(0) )
{
if(Time.time - _buttonDownPhaseStart > 1.0f)
{
Debug.Log ("long click");
_doubleClickPhaseStart = -1;
}
else
{
if (Time.time - _doubleClickPhaseStart < 0.2f)
{
Debug.Log ("double click");
_doubleClickPhaseStart = -1;
}
else
{
_doubleClickPhaseStart = Time.time;
}
}
}