在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);
}
答
我没有一个手柄来尝试,但
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
你测试什么控制器?我想知道这是否是我的硬件。 – Droidnoid
我正在使用仿真为新传输设备(Xbox 360控制器)的PS4控制器。 我试用Dartium,chrome(dart2js)成功。 Firefox(dart2js)没有工作,但我认为游戏手柄在FF上的工作方式不同。没有进一步尝试。 – user3357834
我可以确认这个作品,但只能使用WIRED Xbox 360控制器!即使使用驱动程序,PS3也会失败,并且NES retropad也会失败。 – Droidnoid