Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/24.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 反应+;在多个画布上使用OrbitControl的Three.js_Javascript_Reactjs_Canvas_Three.js_Requestanimationframe - Fatal编程技术网

Javascript 反应+;在多个画布上使用OrbitControl的Three.js

Javascript 反应+;在多个画布上使用OrbitControl的Three.js,javascript,reactjs,canvas,three.js,requestanimationframe,Javascript,Reactjs,Canvas,Three.js,Requestanimationframe,我已经创建了react+三个沙盒,其中有多个画布,显示简单的四面体模型( 不幸的是,所有实例似乎都以相同的方式使用了三个控件:无论鼠标指向哪个画布,所有模型都捕获事件 理想的结果是OrbitControl只更新鼠标指向的画布 我应该如何改变这一点,使每个画布中的模型都能独立运行?()只需将每个画布作为构造函数的第二个参数传递: 这默认为document,但如果传递特定的DOM元素,它会将事件侦听器绑定到该对象 var controls1 = OrbitControls(cam1, canvas1

我已经创建了react+三个沙盒,其中有多个画布,显示简单的四面体模型(

不幸的是,所有实例似乎都以相同的方式使用了三个控件:无论鼠标指向哪个画布,所有模型都捕获事件

理想的结果是OrbitControl只更新鼠标指向的画布


我应该如何改变这一点,使每个画布中的模型都能独立运行?()

只需将每个画布作为构造函数的第二个参数传递:

这默认为
document
,但如果传递特定的DOM元素,它会将事件侦听器绑定到该对象

var controls1 = OrbitControls(cam1, canvas1);
var controls2 = OrbitControls(cam2, canvas2);
var controls3 = OrbitControls(cam3, canvas3);
var controls4 = OrbitControls(cam4, canvas4);