You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

139 lines
3.0 KiB
HTML

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="utf-8" />
<base href="../../../" />
<script src="page.js"></script>
<link type="text/css" rel="stylesheet" href="page.css" />
</head>
<body>
[page:Controls] &rarr;
<h1>拖放控制器([name]</h1>
<p class="desc">
该类被用于提供一个拖放交互。
</p>
<h2>导入</h2>
<p>
[name] 是一个附加组件,必须显式导入。
See [link:#manual/introduction/Installation Installation / Addons].
</p>
<code>
import { DragControls } from 'three/addons/controls/DragControls.js';
</code>
<h2>代码示例</h2>
<code>
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 );
} );
</code>
<h2>例子</h2>
<p>[example:misc_controls_drag misc / controls / drag ]</p>
<h2>构造函数</h2>
<h3>[name]( [param:Array objects], [param:Camera camera], [param:HTMLDOMElement domElement] )</h3>
<p>
<p>
[page:Array objects]: 一组可被拖拽的3D Objects。
</p>
<p>
[page:Camera camera]: 渲染场景的摄像机。
</p>
<p>
[page:HTMLDOMElement domElement]: 用于事件监听的HTML元素。(可选)
</p>
<p>
创建一个新的 [name] 实例。
</p>
</p>
<h2>事件</h2>
<h3>dragstart</h3>
<p>
当用户开始拖拽3D Objects时触发。
</p>
<h3>drag</h3>
<p>
当用户拖拽3D Objects时触发。
</p>
<h3>dragend</h3>
<p>
当用户开始完成3D Objects时触发。
</p>
<h3>hoveron</h3>
<p>
当指针移动到一个3D Object或者其某个子级上时触发。
</p>
<h3>hoveroff</h3>
<p>
当指针移出一个3D Object时触发。
</p>
<h2>属性</h2>
<p>共有属性请参见其基类[page:Controls]。</p>
<h3>[property:Array objects]</h3>
<p>
可拖放对象的数组。
</p>
<h3>[property:Raycaster raycaster]</h3>
<p>
内部用于检测拾取对象的光线投射器。
</p>
<h3>[property:Boolean recursive]</h3>
<p>
可拖放对象的子对象是否可以独立于其父对象进行拖放。 默认值为 `true`。
</p>
<h3>[property:Float rotateSpeed]</h3>
<p>
执行 `rotate` 时的旋转速度。该值越大旋转速度越快。 默认值为 `1`。
</p>
<h3>[property:Boolean transformGroup]</h3>
<p>
当 [page:DragControls.objects] 数组包含一个单个可拖拽的组对象时该选项生效。
如果设置为`true`[name]会转换整个组对象,而不对单个对象做转换。默认值为`false`。
</p>
<h2>方法</h2>
<p>共有方法请参见其基类[page:Controls]。</p>
<h2>源代码</h2>
<p>
[link:https://github.com/mrdoob/three.js/blob/master/examples/jsm/controls/DragControls.js examples/jsm/controls/DragControls.js]
</p>
</body>
</html>