模擬遊戲台輸入
測試 XBOX One 遊戲時,讓人員使用實體遊戲台與開發主機互動並不一定有效率。您可以在電腦上使用 XBOX Tools Framework (XTF) 和 XBOX Test Toolkit,以程式設計方式模擬遊戲台輸入,將單元測試、壓力測試、長時間測試和使用者測試自動化。您可以同時為多部主機模擬遊戲台輸入,以測試線上多人遊戲案例。 若要模擬遊戲台輸入,請將XtfInput.lib 新增至 Configuration Properties > Linker > Input > Additional Dependencies,並在測試框架或獨立工具的原始程式檔中包含 XtfInput.h。
XtfInput.lib位於<GDK Install Path>\toolKit\lib\amd64XtfInput.h位於<GDK Install Path>\toolKit\include
Xtf 應用程式無法以 32 位元系統為目標。您必須確保建置選項以 64 位元系統為目標。請使用下列步驟將專案設定為以 64 位元為目標。
- 開啟頂端內容列上的 BUILD 功能表,然後選取 Configuration Manager。
- 選取 Active solution platform: 下拉式清單 (很可能設定為 Win32),然後選取 <New..>。
- 選取 Type or select the new platform: 下拉式清單,然後選取 x64。從您偏好的設定 (很可能是 Win32) 複製設定。
- 選取 OK 以新增新的設定。
模擬遊戲台輸入
- 呼叫 XtfCreateInputClient,並指定目標主機的位址,以建立 IXtfInputClient 的執行個體。
- 呼叫 IXtfInputClient::ConnectGamepad 以建立虛擬控制器。
- 設定 GAMEPAD_REPORT 結構,以包含您想要的遊戲台狀態。例如,若要模擬按下 A 按鈕,您會使用
gamepadReport.Buttons = A;。 - 使用 ConnectGamepad 傳回的控制器識別碼,以及上一個步驟中的 GAMEPAD_REPORT,呼叫 IXtfInputClient::SendGamepadReport。
- 等待至少 16 毫秒,然後視需要再次呼叫 IXtfInputClient::SendGamepadReport 以重設控制器狀態。例如,若要模擬放開 A 按鈕,您會使用
gamepadReport.Buttons = NONE。 - 重複步驟 3 到 5 以傳送其他按鈕按下動作。
- 完成時呼叫 DisconnectGamepad,以確保為虛擬控制器配置的資源已釋放。
