我正在使用此网站的代码来创建慢动作效果
它在PC上工作正常,但它在手机上滞后。
这是android
的代码if (Input.touchCount > 0)
{
if(Input.GetTouch(0).phase == TouchPhase.Began)
{
Time.timeScale = 1.0f;
Time.fixedDeltaTime = Time.fixedDeltaTime * newTimeScale;
Time.maximumDeltaTime = Time.maximumDeltaTime * newTimeScale;
}
else if (Input.GetTouch (0).phase == TouchPhase.Ended)
{
Time.timeScale = newTimeScale;
Time.fixedDeltaTime = Time.fixedDeltaTime / newTimeScale;
Time.maximumDeltaTime = Time.maximumDeltaTime / newTimeScale;
}
}
我的猜测是,TouchPhase.Ended一次又一次地被调用,所以我得到了这种滞后效应,因为我尝试在PC上使用KeyDown和KeyUp方法做同样的事情,我得到了相同的延迟效果但这应该是因为touchCount等于0,所以不会发生这种情况。我不知道,我的想法很多。任何帮助将不胜感激。
答案 0 :(得分:0)
您可以制作自己的TouchUp和TouchDown
,而不是使用TouchPhasebool wasDown = false;
void Update()
{
bool isDown = Input.touchCount > 0;
if(!wasDown && isDown)
{
wasDown = true;
//do touch down stuff, Time.timeScale = 1.0f etc
}
if(wasDown && !isDown)
{
wasDown = false;
//do touch up stuff, Time.timeScale = newTimeScale etc
}
}