javascript 我如何创建一个假的游戏手柄对象?

uemypmqf  于 2023-03-11  发布在  Java
关注(0)|答案(1)|浏览(170)

我需要创建一个对象,它的行为在各个方面都类似于navigator.getGamepads()中的Gamepad对象,但它提供特定的静态数据,而不是真实的游戏手柄的数据。

> navigator.getGamepads()[0]
Gamepad {
  id: "USB Gamepad (Vendor 0079 Product: 0011)",
  index: 0,
  connected: true,
  timestamp: 1234.567890,
  mapping: "",
  axes: [0, 0],
  buttons: [GamepadButton, GamepadButton, GamepadButton, GamepadButton, GamepadButton, GamepadButton], 
  __proto__: Gamepad
}
whlutmcx

whlutmcx1#

我知道有点晚了,但我碰巧也遇到了同样的事。
我想创建假的游戏手柄对象时,我的脚本认为当有一个游戏手柄连接,但它找不到它。
所以这里有一个简单的解决方案:

function GamepadObject() {
  return { id: "Fake-Gamepad", index: 0, mapping: "", hand: "", connected: true, buttons: [], axes: [], timestamp: 0, pose: GamepadPose, hapticActuators: [] };
}

// Use it like this:
let gamepad = GamepadObject();

console.log(gamepad);

// Object  { id: "Fake-Gamepad", index: 0, … }

我复制了一个真实的的游戏手柄,并使所有变量重置。这样它就可以从假游戏手柄中获取所有子对象,而不会遇到任何错误。

相关问题