有没有办法取消屏幕清醒时的触摸?

时间:2014-12-23 17:03:30

标签: c# unity3d touch

我正在处理我正在进行的游戏的问题。当用户在屏幕上拖动他的角色时,如果角色在拖动时死亡,我会切换到“死”场景。问题是在新场景中有两个按钮使用新的Unity UI。按钮,如果玩家在场景加载时碰巧将手指放在其中一个按钮上并作为反应,他们最终会在他们看到屏幕上的内容之前执行按钮。

我有什么方法可以说清醒,启动或启用取消所有触摸?强制用户将手指从屏幕上抬起,然后在消化屏幕后点击他们想要的按钮?

1 个答案:

答案 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;
            }
        }
    }
}