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

構(gòu)造函數(shù)

DragControls( objects : Array, camera : Camera, domElement : HTMLDOMElement )

objects: 一組可被拖拽的3D Objects。

camera: 渲染場景的攝像機(jī)。

domElement: 用于事件監(jiān)聽的HTML元素。

創(chuàng)建一個新的 DragControls 實例。

事件

dragstart

當(dāng)用戶開始拖拽3D Objects時觸發(fā)。

drag

當(dāng)用戶拖拽3D Objects時觸發(fā)。

dragend

當(dāng)用戶開始完成3D Objects時觸發(fā)。

hoveron

當(dāng)指針移動到一個3D Object或者其某個子級上時觸發(fā)。

hoveroff

當(dāng)指針移出一個3D Object時觸發(fā)。

屬性

.enabled : Boolean

是否啟用控制器。

.transformGroup : Boolean

此選項僅在 DragControls.objects 數(shù)組包含單個可拖動組對象時才有效。如果設(shè)置為 true,DragControls 不會變換單個對象,而是變換整個組。默認(rèn)為假。

Methods

共有方法請參見其基類EventDispatcher。

.activate () : undefined

添加控制器的事件監(jiān)聽。

.deactivate () : undefined

移除控制器的事件監(jiān)聽。

.dispose () : undefined

若不再需要該控制器,則應(yīng)當(dāng)調(diào)用此函數(shù)。

.getObjects () : Array

返回可拖動對象的數(shù)組。

.getRaycaster () : Raycaster

返回用于相交測試的內(nèi)部 Raycaster 實例。

源碼

examples/jsm/controls/DragControls.js


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號