这是我制作的代码,但是当我在手机上测试它时会冻结并且没有任何反应(当我通过Remote4与我的手机连接时,在编辑器模式下也是如此)所以我想改变的是只需轻触屏幕上的相机即可。我该怎么做?
当我想要将相机从mainCam更改为topCam时,只有在触摸屏幕时才会出现问题,当我用手指释放屏幕时,它会从topCam更改回mainCam?
此代码进入Update()
while (Input.touchCount > 0) {
for (int i = 0; i < Input.touchCount; i++) {
if (Input.GetTouch (i).phase == TouchPhase.Ended && Input.GetTouch(i).tapCount == 1) {
if (mainCam.enabled){
mainCam.enabled = false;
topCam.enabled = true;
} else {
mainCam.enabled = true;
topCam.enabled = false;
}
}
}
}
答案 0 :(得分:1)
你的循环是问题和if
的一些奇怪的逻辑。
void Update()
{
if(Input.touchCount > 0)
{
if(Input.GetTouch(0).phase == TouchPhase.Began)
{
topCam.enabled = true;
mainCam.enabled = false;
}
if(Input.GetTouch(0).phase == TouchPhase.Ended
|| Input.GetTouch(0).phase == TouchPhase.Canceled)
{
mainCam.enabled = true;
topCam.enabled = false;
}
}
}
void Update()
{
if(Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Began)
{
topCam.enabled = !topCam.enabled;
mainCam.enabled = !mainCam.enabled;
}
}