[英]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.