如何将 mousemove 事件替换为我的 robotsmove 事件

问题描述

我有一个桌面机器人设备,它使用 ble(蓝牙低功耗)连接到网络浏览器(chrome),我在 js 代码中创建了一个自定义事件,以在机器人移动时捕获一些运动值。

但在 pixijs 中,所有事件都基于鼠标移动,我该如何扩展它以适应我的场景。

解决方法

见:https://github.com/pixijs/pixi.js/blob/v6.0.0/packages/interaction/src/InteractionManager.ts#L858

我认为您需要创建自己的 InteractionManager 版本作为插件,并修改该方法 addEvents()。您需要监听机器人移动时触发的自定义事件。

// instead of:
self.document.addEventListener('mousemove',this.onPointerMove,true);

// do like this:
self.document.addEventListener('my_custom_robot_move',true);

通常 InteractionManager 在这里注册:https://github.com/pixijs/pixi.js/blob/fe7b2191e0311b8174a012366ff21c8e2b6dc153/bundles/pixi.js/src/index.ts#L30 - 所以你需要在你的 js 代码的开头调用这样的东西(可能就在 pixi 脚本加载之后):

Renderer.registerPlugin('interaction',MyInteractionManager);

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...