2016-07-06 120 views
0

我正在使用slimdx來解釋xbox控制器按鈕按下。我每200毫秒輪詢閱讀Xbox按鈕狀態和所有爲我工作。我使用SlimDx按下按鈕事件

 JoystickState state = Joystick.GetCurrentState(); 
     // get buttons states 
     bool[] buttonsPressed = state.GetButtons(); 

是否有按鈕按下而不是輪詢生成事件?解釋想象一下,如果我的投票時間是5秒。用戶在第二秒鐘按下按鈕並釋放它。在下一個輪詢時間,我的應用程序永遠不會知道該按鈕被按下。

回答

1

否 - 在DirectX中,您必須輪詢。要有效地做到這一點,你想創建一個輪詢線程,並有一個類,它會引發跨線程事件到消費線程。