Я создаю приложение панели NW.js (Node-Webkit), которое я хочу контролировать с помощью игрового контроллера (например, контроллер XBox 360 или контроллер Logitech).Могу ли я использовать геймпады с Node-Webkit (NW.js)?
Я называю следующее onready, но когда я отлаживаю его, не признавая никаких игровых приставок.
angular.element(document).ready(function() {
if(canGame()) {
var prompt = "To begin using your gamepad, connect it and press any button!";
$("#gamepadPrompt").text(prompt);
$(window).on("gamepadconnected", function() {
$("#gamepadPrompt").html("Gamepad connected!");
console.log("connection event");
});
$(window).on("gamepaddisconnected", function() {
console.log("disconnection event");
$("#gamepadPrompt").text(prompt);
});
}
});
function canGame() {
return "getGamepads" in navigator;
}
Когда я отлаживаю код, он, кажется, не обнаруживает никаких геймпадов. Я также пробовал:
navigator.webkitGetGamepads()
но он также не показывает никаких геймпадов.
Кто-нибудь успешно использовал геймпады с приложением NW.js?
Я был бы очень признателен за помощь в этом.
Я не уверен, что этот вопрос действительно связан с NW.js. Вышеприведенный код кажется, что он должен работать, и когда он проверяется независимо (заменяя 'angular.element (document) .ready на' $ (document) .ready' и имея html-страницу только с div # gamepadPrompt, она отлично работает (протестирован на chrome 42.0.x, используя контроллер XBox 360 на OSX 10.10). Больше информации вы можете предоставить? В каком браузере вы тестируете? –
Благодарим вас за ответ Коди. Чтобы быть ясным, в настоящее время это nwjs проект. Нет браузера, просто экземпляр WebKit, когда я запускаю nw.exe. Я отлаживаю настройку панели инструментов: true. Я добавлю проект в github, когда вернусь с работы. – ITellYeHwat
Существует конкретная проблема с узлом-webkit (nw.js) и Windows 8.1 (и, возможно, специфичным для игровых систем xbox), где getGamepads() никогда не вернет подключенные контроллеры. будет отлично работать с OSX, Windows 7 или если вы проверите в браузере Google Chrome под Windows 8.1. Решение заключается в установке драйверов контроллера Windows 7 xbox 360 в Windows 8.1. Тогда все будет работать снова. Драйверы доступны здесь: https://www.microsoft.com/hardware/en-au/downloads#gaming – Zachstronaut