我正在处理我正在进行的游戏的问题。当用户在屏幕上拖动他的角色时,如果角色在拖动时死亡,我会切换到“死”场景。问题是在新场景中有两个按钮使用新的Unity UI。按钮,如果玩家在场景加载时碰巧将手指放在其中一个按钮上并作为反应,他们最终会在他们看到屏幕上的内容之前执行按钮。
我有什么方法可以说清醒,启动或启用取消所有触摸?强制用户将手指从屏幕上抬起,然后在消化屏幕后点击他们想要的按钮?
答案 0 :(得分:1)
恕我直言,更好的用户体验是在角色死亡时播放动画。动画甚至可以像模糊或缓慢调暗视图一样简单。然后玩家有时间做出反应,他或她很可能会结束持续的阻力。
如果您仍想禁用所有触摸,可以尝试添加布尔值,告知是否在新场景中开始了任何新触摸。不幸的是,我猜这不会很有效:
using UnityEngine;
using System.Collections;
public class ExampleClass : MonoBehaviour {
private bool newTouchesInThisScene = false;
void Update() {
for(int i = 0; i < Input.touchCount; ++i) {
if (Input.GetTouch(i).phase == TouchPhase.Began) {
newTouchesInThisScene = true;
}
}
}
}