Skip to main content

模擬遊戲台輸入

測試 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\amd64
  • XtfInput.h 位於 <GDK Install Path>\toolKit\include
Xtf 應用程式無法以 32 位元系統為目標。您必須確保建置選項以 64 位元系統為目標。請使用下列步驟將專案設定為以 64 位元為目標。
  1. 開啟頂端內容列上的 BUILD 功能表,然後選取 Configuration Manager。
  2. 選取 Active solution platform: 下拉式清單 (很可能設定為 Win32),然後選取 <New..>。
  3. 選取 Type or select the new platform: 下拉式清單,然後選取 x64。從您偏好的設定 (很可能是 Win32) 複製設定。
  4. 選取 OK 以新增新的設定。

模擬遊戲台輸入

  1. 呼叫 XtfCreateInputClient,並指定目標主機的位址,以建立 IXtfInputClient 的執行個體。
  2. 呼叫 IXtfInputClient::ConnectGamepad 以建立虛擬控制器。
  3. 設定 GAMEPAD_REPORT 結構,以包含您想要的遊戲台狀態。例如,若要模擬按下 A 按鈕,您會使用 gamepadReport.Buttons = A;。
  4. 使用 ConnectGamepad 傳回的控制器識別碼,以及上一個步驟中的 GAMEPAD_REPORT,呼叫 IXtfInputClient::SendGamepadReport。
  5. 等待至少 16 毫秒,然後視需要再次呼叫 IXtfInputClient::SendGamepadReport 以重設控制器狀態。例如,若要模擬放開 A 按鈕,您會使用 gamepadReport.Buttons = NONE。
  6. 重複步驟 3 到 5 以傳送其他按鈕按下動作。
  7. 完成時呼叫 DisconnectGamepad,以確保為虛擬控制器配置的資源已釋放。
下列程式碼範例示範如何以程式設計方式模擬控制器輸入。 C++

另請參閱

參考
Last modified on October 6, 2026