Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从听众那里获取信息并将其传送到游戏引擎的最佳方式是什么?_Javascript_Multiplayer_Lance - Fatal编程技术网

Javascript 从听众那里获取信息并将其传送到游戏引擎的最佳方式是什么?

Javascript 从听众那里获取信息并将其传送到游戏引擎的最佳方式是什么?,javascript,multiplayer,lance,Javascript,Multiplayer,Lance,[Lance]从听众那里获取信息并将其传送到游戏引擎的最佳方式是什么?目前正在尝试使Spaaaceship跟随我的鼠标。我制作了一个MouseControls.js,用于监听鼠标移动并记录光标的X和Y。然后,我在客户端引擎中使用以下代码将其发送到游戏引擎 this.sendInput('mouseMove', { cursorX: this.mouseControls.cursorPos.cursorX, cursorY: this.mouseControls.cursorPos.curs

[Lance]从听众那里获取信息并将其传送到游戏引擎的最佳方式是什么?目前正在尝试使Spaaaceship跟随我的鼠标。我制作了一个MouseControls.js,用于监听鼠标移动并记录光标的X和Y。然后,我在客户端引擎中使用以下代码将其发送到游戏引擎

this.sendInput('mouseMove', {
 cursorX: this.mouseControls.cursorPos.cursorX, 
 cursorY: this.mouseControls.cursorPos.cursorY
});
然后在游戏引擎中,我尝试读取processinput方法中的第二个参数,如下所示:

inputData.inputOptions.cursorY
但我得到错误“无法读取未定义的属性'cursorY'。我知道其他控件的每个键每次都做同样的事情,但我不知道如何传递变量信息(cursorX/Y)。这是所有修改spaaace教程顺便说一句。我应该做一个鼠标对象吗

更新:我已经深入挖掘,学到了更多,所以我想我已经缩小了我的问题范围。详情如下:

在游戏引擎处理输入的那一刻,它只有输入的名称,没有额外的信息,这对于每次都做完全相同的事情的按键来说是很好的。然而,随着鼠标的移动,一旦我收到“mouseMove”输入,我还需要从我的鼠标控制器获取鼠标的X和Y位置,这在游戏引擎中是不可见的(据我所知)。那么我如何在那一刻得到这些值呢

由于您看不到我的代码,这相当于从GameEngine的processinput方法的键盘控件中获取“activeInput.up”值(非常接近!)

如果您从
客户端引擎发送这样的输入:

document.addEventListener('mousemove', (e)=>{
    this.sendInput('mousePos', { x: e.clientX, y: e.clientY });
})
然后在
GameEngine
中,您可以通过options属性访问它:

processInput(inputData, playerId) {
    super.processInput(inputData, playerId);
    console.log(inputData.options.x, inputData.options.y);
}
参考: