Статьи

JavaScript и браузер Wii U

Несмотря на все разговоры о настольных компьютерах, планшетах и ​​мобильных устройствах, существует еще один тип браузеров, которые имеют тенденцию проскальзывать сквозь трещины — консольные браузеры. В конце 2012 года Nintendo выпустила консоль Wii U, консоль восьмого поколения, в которой представлен GamePad со вторым экраном. Wii U также оснащен браузером NetFront на базе WebKit, что делает модель программирования несколько похожей на Safari для iOS. В этой статье рассматривается браузер консоли, в том числе специфичный для Wii U JavaScript API.

Особенности HTML5

Wii U, вероятно, обладает наиболее совместимым на сегодняшний день консольным браузером, совместимым с HTML5. Конечно, этого следовало ожидать, учитывая, что он самый новый. Wii U получил 258/500 баллов за тест HTML5 — самый высокий показатель среди игровых браузеров . Хотя это число может показаться не впечатляющим (моя установка Chrome набрала 448/500 с 13 бонусными баллами), оно намного выше, чем у оригинальной консоли Wii, равной 94/500.

Итак, какие функции поддерживает Wii U? Для начала, есть ряд событий DOM Level 3 для обработки ввода в стиле клавиатуры и мыши. Браузер также поддерживает сенсорные события для взаимодействия с сенсорным экраном GamePad. Некоторые из других поддерживаемых функций включают SVG, Canvas 2D Context, историю сеансов, веб-хранилище и события, отправленные сервером . Более полный список функций можно увидеть на WiiUBrew .

Доступ к Wii U GamePad

Браузер Wii U предоставляет специальный объект, wiiu.gamepad Nintendo предоставляет хороший пример страницы , которая при загрузке в браузер Wii U извлекает информацию о состоянии и отображает ее на экране. Состояние GamePad можно получить, вызвав метод wiiu.gamepad.update() Согласно WiiUBrew, безопасно вызывать update() Следовательно, ваш код инициализации будет похож на пример, показанный ниже. В этом примере мы запрашиваем состояние GamePad каждые 20 миллисекунд.

 window.addEventListener("load", function(event) {
  if (window.wiiu) {
    setInterval(function() {
      var state = window.wiiu.gamepad.update();

      // process the current state
    }, 20);
  } else {
    // browser is not a Wii U
  }
}, false);

После запроса состояния GamePad вы должны убедиться, что данные действительны. Если запрос был успешным, флаг isDataValid Вы также можете определить, подключен ли GamePad с помощью флага isEnabled Согласно WiiUBrew, эти флаги расположены на объекте wiiu.gamepadwiiu.gamepad.isDataValid Однако демонстрационная страница, предоставленная Nintendo, проверяет эти флаги на объекте состояния, возвращенном из update() Судя по моим собственным тестам, оба местоположения кажутся правильными. Таким образом, используя синтаксис Nintendo, проверка на достоверность данных выглядит как код, показанный ниже.

 if(state.isEnabled && state.isDataValid) {
  // valid GamePad data
} else {
  // invalid GamePad data
}

Вывод

В этой статье были представлены некоторые функции нового браузера Wii U. Очевидно, что мы не полностью охватили чтение с сенсорного экрана, кнопок и других устройств ввода. Будьте в поисках предстоящей статьи, которая поднимает, где эта остановилась.