2015-05-04 76 views
-2

我想知道是否有可能將鍵盤輸入歷史記錄存儲到數組中並在以後執行它們?基本上我有一個3D網格遊戲和一個在網格中移動的角色。我希望用戶在播放器保持靜止時通過右下左上鍵輸入所有的移動指令,一旦我按下輸入鍵,播​​放器將開始執行存儲在陣列中的每條指令。 有什麼建議嗎?如何將keycode存儲到數組中並執行它們?

+0

是 - 完全地按照你所擁有的在後,它應該工作。你有什麼確切的問題實施它? –

+0

對不起,我很不清楚。我一直在環顧API並且無法準確找到我需要的東西。像我應該調用什麼函數來執行每條指令時,通過數組循環? –

+0

將條目存儲在列表集合中。將該收集用作FIFO。在列表末尾添加新條目。刪除項目零處的條目。你也可以使用一個StringBuilder,它是List 的一種。 – jdweng

回答

1

我會建議使用List<T>

例子:

using UnityEngine; 
using System.Collections; 
using System.Collections.Generic; 

public class Training : MonoBehaviour { 

public List<KeyCode> previousActions; 

void Update(){ 
    if(Input.GetKeyDown(KeyCode.A)){ 
     Debug.Log("Do something"); 
     previousActions.Add(KeyCode.A); 
    }else if(Input.GetKeyDown(KeyCode.S)){ 
     Debug.Log("Do something else"); 
     previousActions.Add(KeyCode.S); 
    //---Check the list--// 
    }else if(Input.GetKeyDown(KeyCode.D)){ 
     Debug.Log("Check the list"); 
     for(int i = 0;i < previousActions.Count;i++){ 
      Debug.Log(previousActions[i]); 
     } 
    } 
} 
相關問題