在Google Dart中使用游戏手柄

问题描述:

我在查找Gamepad API for Google Dart的代码示例。在Google Dart中使用游戏手柄

我试过直接依赖API文档并试图为它写出一个实例。

//Gamepad Example: 

Gamepad g = new Gamepad(); 
g.id.toString(); // This doesn't seem to return anything... 

如果有人有任何代码示例,这将是太棒了!

我想这和它的工作对我来说:

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

我没有一个手柄来尝试,但

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