2014-03-14 89 views

回答

3

我想這和它的工作對我來說:

import "dart:html"; 

main(){ 
    window.animationFrame.then(runAnimation); 
} 

runAnimation(timestamp){ 

    var gamepads = window.navigator.getGamepads(); 

    for (var pad in gamepads) 
    { 
    if(pad != null){ 
     querySelector("#buttons").setInnerHtml("${pad.buttons.join(" ")}</br>${pad.axes.join(" ")}"); 
    } 
    } 

    window.requestAnimationFrame(runAnimation); 
} 
+0

你測試什麼控制器?我想知道這是否是我的硬件。 – Droidnoid

+0

我正在使用仿真爲新傳輸設備(Xbox 360控制器)的PS4控制器。 我試用Dartium,chr​​ome(dart2js)成功。 Firefox(dart2js)沒有工作,但我認爲遊戲手柄在FF上的工作方式不同。沒有進一步嘗試。 – user3357834

+0

我可以確認這個作品,但只能使用WIRED Xbox 360控制器!即使使用驅動程序,PS3也會失敗,並且NES retropad也會失敗。 – Droidnoid

2

我沒有一個手柄來嘗試,但

Gamepad g = new Gamepad(); 

不起作用,因爲Gamepade沒有公開的構造函數。
嘗試

var gp = window.navigator.getGamepads(); 

//or 

// haven't tried because I don't know how to provoke this event without a gamepad 
window.on['gamepadconnected'].listen((e) { 
    var gamepad = e.gamepad; 
}); 

代替。
我得到一個空的列表,所以我不能再檢查更多。

還看到:
- https://developer.mozilla.org/en-US/docs/Web/Guide/API/Gamepad
- https://dvcs.w3.org/hg/gamepad/raw-file/default/gamepad.html

+0

沒有運氣迄今爲止,但似乎比我這個第一次去更符合邏輯。謝謝你的幫助! – Droidnoid

+0

如果沒有其他的工作,你可以嘗試使用dart-js-interop(在這裏搜索此標籤) –

+0

我可以但互操作會圍繞飛鏢工作,我想利用新的Gamepad類。 – Droidnoid

相關問題