拖放控制器(DragControls)
优质
小牛编辑
143浏览
2023-12-01
该类被用于提供一个拖放交互。
代码示例
const controls = new DragControls( objects, camera, renderer.domElement ); // add event listener to highlight dragged objects controls.addEventListener( 'dragstart', function ( event ) { event.object.material.emissive.set( 0xaaaaaa ); } ); controls.addEventListener( 'dragend', function ( event ) { event.object.material.emissive.set( 0x000000 ); } );
例子
Constructor
DragControls( objects : Array, camera : Camera, domElement : HTMLDOMElement )
objects: 一组可被拖拽的3D Objects。
camera: 渲染场景的摄像机。
domElement: 用于事件监听的HTML元素。
创建一个新的 DragControls 实例。
事件
dragstart
当用户开始拖拽3D Objects时触发。
drag
当用户拖拽3D Objects时触发。
dragend
当用户开始完成3D Objects时触发。
hoveron
当指针移动到一个3D Object或者其某个子级上时触发。
hoveroff
当指针移出一个3D Object时触发。
属性
.enabled : Boolean
是否启用控制器。
.transformGroup : Boolean
This option only works if the DragControls.objects array contains a single draggable group object. If set to true, DragControls does not transform individual objects but the entire group. Default is false.
Methods
共有方法请参见其基类EventDispatcher。
.activate () : null
添加控制器的事件监听。
.deactivate () : null
移除控制器的事件监听。
.dispose () : null
若不再需要该控制器,则应当调用此函数。
.getObjects () : Array
Returns the array of draggable objects.