簡體   English   中英

如何檢測玩家何時不玩游戲

[英]How to detect when the Player is not playing the game

我正在統一制作游戲,但在那一點上我要檢查游戲用戶是否單擊任何東西。因此,如果玩家閑置了一定時間,可以說20秒,那么我將播放動畫以表明播放器閑置

如果您要為此目的創建一個全新的腳本,則...

public static class IdleCheck
{
    public static int Timeout { get; set; }

    private static float lastAction;
    public static void ReportAction ()
    {
        lastAction = Time.time;
    }

    public static bool IsIdle
    {
        get { return (Time.time - time) > Timeout; }
    }
}

每次用戶報告操作(如單擊)時,只需調用IdleCheck.ReportAction()並在需要的地方使用IdleCheck.IsIdle

您應該嘗試使用e.mousePosition之類的事件來查看其是否已移動,並設置一個計數器20秒鍾。 如果事件e.mousePosition在20秒內未觸發,則播放空閑動畫。 請參閱此處的Unity文檔: https : //docs.unity3d.com/ScriptReference/Event-mousePosition.html

我認為應該這樣做

當您獲得點擊時,anyClick應該為true。

float timeSinceLastClick = 0.0f;
void Update()
{
    timeSinceLastClick += Time.deltaTime;

    if(anyClick)
    {
        timeSinceLastClick = 0.0f;
        anyClick = false;
    }

    if(timeSinceLastClick > 20.0f)
    {
        //Play Idle animation
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM