问题描述
我有一个桌面机器人设备,它使用 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);