From 4f067f0f4dc9e81f7fb3484962f2e973f71fab60 Mon Sep 17 00:00:00 2001
From: puxiao
[page:Camera camera]:(必填)要控制的相机。相机不能是另一个对象的子对象,除非该对象是场景本身。 共有属性请参见其基类[page:Controls]。
如果为 true,则每次执行缩放时都会调整相机的近端和远端值,尝试保持初始近端和远端值给出的相同可见部分(仅限 [page:PerspectiveCamera] )。默认为 false。
@@ -116,16 +118,6 @@ 弧球控制器([name])
@@ -70,9 +70,9 @@ [name]( [param:Camera camera], [param:HTMLDOMElement domElement], [param:Sce
- [page:HTMLDOMElement domElement]: 用于事件侦听器的 HTML 元素。
+ [page:HTMLDOMElement domElement]: 用于事件侦听器的 HTML 元素。(可选)
- [page:Scene scene]: 相机渲染的场景。如果未给出,则小控件无法显示。
+ [page:Scene scene]: 相机渲染的场景。如果未给出,则小控件无法显示。(可选)
事件
@@ -94,6 +94,8 @@ end
属性
+ [property:Boolean adjustNearFar]
设置为 [page:.enableAnimations] 为true 时使用的阻尼惯性。
- HTMLDOMElement 用于监听鼠标/触摸事件。这必须在构造函数中传递;此处更改它不会设置新的事件侦听器。 -
- -- 当设置为 时 `false`,小控件将不再响应用户交互。默认为 `true`。 -
-设置为 true 以启用旋转(阻尼)和聚焦操作的动画。默认为 true。 @@ -201,9 +193,10 @@
共有方法请参见其基类[page:Controls]。
+使小控件或多或少可见。 @@ -214,11 +207,6 @@
- 删除所有事件侦听器,取消任何待处理的动画并清除场景中的小控件和网格。 -
-从剪贴板设置控件状态,假设剪贴板存储从 [page:.copyState] 保存的 JSON 文本。 @@ -264,16 +252,10 @@
- 更新控件。必须在对相机变换进行任何手动更改后调用。 -
-返回用于用户交互的 [page:Raycaster] 对象。如果设置了 [name] 的 [page:Object3D.layers .layers] 属性,您还需要使用匹配的值设置 [page:Raycaster.layers .layers] 的 [page:Raycaster] 属性,否则 [name] 将无法按预期工作。 - won't work as expected.
+ 控制器的抽象基类。 +
+ ++ [page:Object3D object] - 控件应该管理的对象(通常是相机)。 +
++ [page:HTMLDOMElement domElement]: 用于添加事件侦听器的 HTML 元素。(可选) +
++ 创建一个 [name] 实例。 +
+ ++ 用于添加事件侦听器的 HTML 元素。 如果没有在构造函数中提供,[page:.connect]() 必须在 `domElement` 设置后才能调用。 +
+ ++ 如果设置为 `false`,控制器将不再响应用户设备输入。 默认值为 `true`。 +
+ ++ 该对象用于定义控制器的键盘输入。 + 默认值为 `{}`。 +
+ ++ 此对象定义分配给可用鼠标按键的操作类型。 + 支持哪些鼠标按键和操作取决于控制器的具体实现。 + 默认值为 `{ LEFT: null, MIDDLE: null, RIGHT: null }`。 +
++ 按键可能为: `LEFT`, `MIDDLE`, `RIGHT`。 +
++ 可能的操作是定义在 [page:Core Constants] 中。 +
+ ++ 由控制器管理的 Object3D 对象。 +
+ ++ 控制器的内部状态。默认值为 `-1` (`NONE`)。 +
+ ++ 此对象定义将哪种类型的操作分配给哪种触摸交互。 + 支持哪种触摸交互和操作取决于控制器的具体实现。 + 默认值为 `{ ONE: null, TWO: null }`。 +
++ 可能触摸点操作有: `ONE`, `TWO`. +
++ 可能的操作是定义在 [page:Core Constants] 中。 +
+ +共有方法请参见其基类[page:EventDispatcher]。
+ ++ 将控制器连接到 DOM。此方法具有所谓的“副作用”,因为它将模块的事件侦听器添加到 DOM。 +
+ ++ 断开控制器与 DOM 的连接。 +
+ ++ 如果您不再需要使用这些控制器,请调用此方法。它将释放所有内部资源并删除所有事件侦听器。 +
+ ++ 如果控制器必须在每个模拟步骤中更新其内部状态,则应实现此方法。 +
+ ++ [link:https://github.com/mrdoob/three.js/blob/master/examples/jsm/controls/Controls.js examples/jsm/controls/Controls.js] +
+ + diff --git a/docs/examples/zh/controls/DragControls.html b/docs/examples/zh/controls/DragControls.html index 3a09a91a2ad1c5..e0795737498230 100644 --- a/docs/examples/zh/controls/DragControls.html +++ b/docs/examples/zh/controls/DragControls.html @@ -7,7 +7,7 @@ - [page:EventDispatcher] → + [page:Controls] →- [page:HTMLDOMElement domElement]: 用于事件监听的HTML元素。 + [page:HTMLDOMElement domElement]: 用于事件监听的HTML元素。(可选)
创建一个新的 [name] 实例。 @@ -97,53 +97,51 @@
- 是否启用控制器。 -
+共有属性请参见其基类[page:Controls]。
-- 当[page:DragControls.objects]数组包含一个单个可拖拽的组对象时该选项生效。如果设置为`true`,[name]会转换整个组对象,而不对单个对象做转换。默认值为`false`。 + 可拖放对象的数组。
-- The current transformation mode. Possible values are `translate`, and `rotate`. Default is `translate`. + 内部用于检测拾取对象的光线投射器。
-共有方法请参见其基类[page:EventDispatcher]。
- -- 添加控制器的事件监听。 + 可拖放对象的子对象是否可以独立于其父对象进行拖放。 默认值为 `true`。
-- 移除控制器的事件监听。 + 执行 `rotate` 时的旋转速度。该值越大旋转速度越快。 默认值为 `1`。
-- 若不再需要该控制器,则应当调用此函数。 + 当 [page:DragControls.objects] 数组包含一个单个可拖拽的组对象时该选项生效。 + 如果设置为`true`,[name]会转换整个组对象,而不对单个对象做转换。默认值为`false`。
-共有方法请参见其基类[page:Controls]。
+ +- 返回可拖拽的对象数组。 + 添加控制器的事件监听。
-- 返回用于相交测试的内部[page:Raycaster]实例。 + 移除控制器的事件监听。
-- Sets an array of draggable objects by overwriting the existing one. + 若不再需要该控制器,则应当调用此函数。
- [page:HTMLDOMElement domElement]: 用于事件监听的HTML元素。 + [page:HTMLDOMElement domElement]: 用于事件监听的HTML元素。(可选)
创建一个新的 [name] 实例。 @@ -46,60 +47,52 @@
共有属性请参见其基类[page:Controls]。
+- 是否能够环视四周。默认为*true*。 + 是否能够环视四周。默认为 *true*。
- 摄像机是否自动向前移动。默认为*false*。 + 摄像机是否自动向前移动。默认为 *false*。
- 垂直环视是否约束在[[page:.verticalMin], [page:.verticalMax]]之间。默认值为*false*。 -
- -- 该 HTMLDOMElement 用于监听鼠标/触摸事件,该属性必须在构造函数中传入。在此处改变它将不会设置新的事件监听。 -
- -- 是否启用控制器。默认为*true*。 + 垂直环视是否约束在[[page:.verticalMin], [page:.verticalMax]]之间。默认值为 *false*。
- 当Y坐标接近[page:.heightMax]时摄像机的移动速度。默认值为*1*。 + 当Y坐标接近[page:.heightMax]时摄像机的移动速度。默认值为 *1*。
- 用于调节移动速度的摄像机最大高度限制。默认值为*1*。 + 用于调节移动速度的摄像机最大高度限制。默认值为 *1*。
- 用于调节移动速度的摄像机最低高度限制。默认值为*0*。 + 用于调节移动速度的摄像机最低高度限制。默认值为 *0*。
- 摄像机的高度是否影响向前移动的速度。默认值为*false*。 + 摄像机的高度是否影响向前移动的速度。默认值为 *false*。 使用属性 [page:.heightCoef]、 [page:.heightMin] 和 [page:.heightMax] 来进行配置。
- 是否能够垂直环视。默认为*true*。 + 是否能够垂直环视。默认为 *true*。
- 环视速度。默认为*0.005*。 + 环视速度。默认为 *0.005*。
- 移动速度。默认为*1*。 -
- -- 被控制的摄像机。 + 移动速度。默认为 *1*。
- 你能够垂直环视角度的上限。范围在 0 到 Math.PI 弧度之间。默认为*Math.PI*。 + 你能够垂直环视角度的上限。范围在 0 到 Math.PI 弧度之间。默认为 *Math.PI*。
- 你能够垂直环视角度的下限。范围在 0 到 Math.PI 弧度之间。默认为*0*。 + 你能够垂直环视角度的下限。范围在 0 到 Math.PI 弧度之间。默认为 *0*。
- 若不再需要该控制器,则应当调用此函数。 -
+ +共有方法请参见其基类[page:EventDispatcher]。
@@ -155,16 +140,6 @@
-
- [page:Number delta]:时间增量值。 -
-- 更新控制器,常被用在动画循环中。 -
- -diff --git a/docs/examples/zh/controls/FlyControls.html b/docs/examples/zh/controls/FlyControls.html index f3841ca9ff025c..73f83ace88a304 100644 --- a/docs/examples/zh/controls/FlyControls.html +++ b/docs/examples/zh/controls/FlyControls.html @@ -7,6 +7,7 @@
+ [page:Controls] →- [page:HTMLDOMElement domElement]: 用于事件监听的HTML元素。 + [page:HTMLDOMElement domElement]: 用于事件监听的HTML元素。(可选)
创建一个新的 [name] 实例。 @@ -53,58 +54,32 @@
共有属性请参见其基类[page:Controls]。
- 若该值设为*true*,初始变换后,摄像机将自动向前移动(且不会停止)。默认为*false*。 -
- -- 该 HTMLDOMElement 用于监听鼠标/触摸事件,该属性必须在构造函数中传入。在此处改变它将不会设置新的事件监听。 + 若该值设为 *true*,初始变换后,摄像机将自动向前移动(且不会停止)。默认为 *false*。
- 若该值设为*true*,你将只能通过执行拖拽交互来环视四周。默认为*false*。 -
- -- 当设置为false时,控制器将不会响应用户的操作。默认值为true。 + 若该值设为 *true*,你将只能通过执行拖拽交互来环视四周。默认为 *false*。
- 移动速度,默认为*1*。 -
- -- 被控制的摄像机。 + 移动速度,默认为 *1*。
- 旋转速度。默认为*0.005*。 + 旋转速度。默认为 *0.005*。
- 若不再需要该控制器,则应当调用此函数。 -
- --
- [page:Number delta]:时间增量值。 -
-- 更新控制器,常被用在动画循环中。 -
- + +共有方法请参见其基类[page:Controls]。
- 该 HTMLDOMElement 用于监听鼠标/触摸事件,该属性必须在构造函数中传入。在此处改变它将不会设置新的事件监听。 -
- +共有属性请参见其基类[page:Controls]。
@@ -106,19 +102,9 @@
共有方法请参见其基类[page:EventDispatcher]。
- -- 添加控制器的事件监听。 -
- -- 移除控制器的事件监听。 -
+共有方法请参见其基类[page:Controls]。
diff --git a/docs/list.json b/docs/list.json index 3146c6debd4b66..e55cea17ea106d 100644 --- a/docs/list.json +++ b/docs/list.json @@ -1084,6 +1084,7 @@ "控制": { "ArcballControls": "examples/zh/controls/ArcballControls", + "Controls": "examples/zh/controls/Controls", "DragControls": "examples/zh/controls/DragControls", "FirstPersonControls": "examples/zh/controls/FirstPersonControls", "FlyControls": "examples/zh/controls/FlyControls",