three.js DragControls

2023-02-16 17:49 更新

该类被用于提供一个拖放交互。

代码示例

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 );

} );

例子

misc / controls / drag

构造函数

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

此选项仅在 DragControls.objects 数组包含单个可拖动组对象时才有效。如果设置为 true,DragControls 不会变换单个对象,而是变换整个组。默认为假。

Methods

共有方法请参见其基类EventDispatcher。

.activate () : undefined

添加控制器的事件监听。

.deactivate () : undefined

移除控制器的事件监听。

.dispose () : undefined

若不再需要该控制器,则应当调用此函数。

.getObjects () : Array

返回可拖动对象的数组。

.getRaycaster () : Raycaster

返回用于相交测试的内部 Raycaster 实例。

源码

examples/jsm/controls/DragControls.js


以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号