diff --git a/docs/examples/zh/controls/ArcballControls.html b/docs/examples/zh/controls/ArcballControls.html index b477e846dfabd6..e518189b7d0bea 100644 --- a/docs/examples/zh/controls/ArcballControls.html +++ b/docs/examples/zh/controls/ArcballControls.html @@ -9,7 +9,7 @@ - [page:EventDispatcher] → + [page:Controls] →

弧球控制器([name])

@@ -70,9 +70,9 @@

[name]( [param:Camera camera], [param:HTMLDOMElement domElement], [param:Sce

[page:Camera camera]:(必填)要控制的相机。相机不能是另一个对象的子对象,除非该对象是场景本身。

- [page:HTMLDOMElement domElement]: 用于事件侦听器的 HTML 元素。

+ [page:HTMLDOMElement domElement]: 用于事件侦听器的 HTML 元素。(可选)

- [page:Scene scene]: 相机渲染的场景。如果未给出,则小控件无法显示。 + [page:Scene scene]: 相机渲染的场景。如果未给出,则小控件无法显示。(可选)

事件

@@ -94,6 +94,8 @@

end

属性

+

共有属性请参见其基类[page:Controls]。

+

[property:Boolean adjustNearFar]

如果为 true,则每次执行缩放时都会调整相机的近端和远端值,尝试保持初始近端和远端值给出的相同可见部分(仅限 [page:PerspectiveCamera] )。默认为 false。 @@ -116,16 +118,6 @@

设置为 [page:.enableAnimations] 为true 时使用的阻尼惯性。

-

[property:HTMLDOMElement domElement]

-

- HTMLDOMElement 用于监听鼠标/触摸事件。这必须在构造函数中传递;此处更改它不会设置新的事件侦听器。 -

- -

[property:Boolean enabled]

-

- 当设置为 时 `false`,小控件将不再响应用户交互。默认为 `true`。 -

-

[property:Boolean enableAnimations]

设置为 true 以启用旋转(阻尼)和聚焦操作的动画。默认为 true。 @@ -201,9 +193,10 @@

[property:Float wMax]

旋转动画开始时允许的最大角速度。

-

方法

+

共有方法请参见其基类[page:Controls]。

+

[method:undefined activateGizmos] ( [param:Boolean isActive] )

使小控件或多或少可见。 @@ -214,11 +207,6 @@

[method:undefined copyState] ()

将当前状态复制到剪贴板(作为可读的 JSON 文本)。

-

[method:undefined dispose] ()

-

- 删除所有事件侦听器,取消任何待处理的动画并清除场景中的小控件和网格。 -

-

[method:undefined pasteState] ()

从剪贴板设置控件状态,假设剪贴板存储从 [page:.copyState] 保存的 JSON 文本。 @@ -264,16 +252,10 @@

[method:Boolean unsetMouseAction] ( mouse, key )

键盘修饰符可以指定为 'CTRL'、'SHIFT' 或 null(如果不再需要) 。

-

[method:undefined update] ()

-

- 更新控件。必须在对相机变换进行任何手动更改后调用。 -

-

[method:Raycaster getRaycaster] ()

返回用于用户交互的 [page:Raycaster] 对象。如果设置了 [name] 的 [page:Object3D.layers .layers] 属性,您还需要使用匹配的值设置 [page:Raycaster.layers .layers] 的 [page:Raycaster] 属性,否则 [name] 将无法按预期工作。 - won't work as expected.

源代码

diff --git a/docs/examples/zh/controls/Controls.html b/docs/examples/zh/controls/Controls.html new file mode 100644 index 00000000000000..aa8ace45aa99f2 --- /dev/null +++ b/docs/examples/zh/controls/Controls.html @@ -0,0 +1,116 @@ + + + + + + + + + + [page:EventDispatcher] → + +

控制器([name])

+ +

+ 控制器的抽象基类。 +

+ +

构造函数

+ +

[name]( [param:Object3D object], [param:HTMLDOMElement domElement] )

+ +

+ [page:Object3D object] - 控件应该管理的对象(通常是相机)。 +

+

+ [page:HTMLDOMElement domElement]: 用于添加事件侦听器的 HTML 元素。(可选) +

+

+ 创建一个 [name] 实例。 +

+ +

属性

+ +

[property:HTMLDOMElement domElement]

+

+ 用于添加事件侦听器的 HTML 元素。 如果没有在构造函数中提供,[page:.connect]() 必须在 `domElement` 设置后才能调用。 +

+ +

[property:Boolean enabled]

+

+ 如果设置为 `false`,控制器将不再响应用户设备输入。 默认值为 `true`。 +

+ +

[property:Object keys]

+

+ 该对象用于定义控制器的键盘输入。 + 默认值为 `{}`。 +

+ +

[property:Object mouseButtons]

+

+ 此对象定义分配给可用鼠标按键的操作类型。 + 支持哪些鼠标按键和操作取决于控制器的具体实现。 + 默认值为 `{ LEFT: null, MIDDLE: null, RIGHT: null }`。 +

+

+ 按键可能为: `LEFT`, `MIDDLE`, `RIGHT`。 +

+

+ 可能的操作是定义在 [page:Core Constants] 中。 +

+ +

[property:Object3D object]

+

+ 由控制器管理的 Object3D 对象。 +

+ +

[property:Integer state]

+

+ 控制器的内部状态。默认值为 `-1` (`NONE`)。 +

+ +

[property:Object touches]

+

+ 此对象定义将哪种类型的操作分配给哪种触摸交互。 + 支持哪种触摸交互和操作取决于控制器的具体实现。 + 默认值为 `{ ONE: null, TWO: null }`。 +

+

+ 可能触摸点操作有: `ONE`, `TWO`. +

+

+ 可能的操作是定义在 [page:Core Constants] 中。 +

+ +

方法

+ +

共有方法请参见其基类[page:EventDispatcher]。

+ +

[method:undefined connect] ()

+

+ 将控制器连接到 DOM。此方法具有所谓的“副作用”,因为它将模块的事件侦听器添加到 DOM。 +

+ +

[method:undefined disconnect] ()

+

+ 断开控制器与 DOM 的连接。 +

+ +

[method:undefined dispose] ()

+

+ 如果您不再需要使用这些控制器,请调用此方法。它将释放所有内部资源并删除所有事件侦听器。 +

+ +

[method:undefined update] ( [param:Number delta] )

+

+ 如果控制器必须在每个模拟步骤中更新其内部状态,则应实现此方法。 +

+ +

源代码

+ +

+ [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] →

拖放控制器([name])

@@ -61,7 +61,7 @@

[name]( [param:Array objects], [param:Camera camera], [param:HTMLDOMElement [page:Camera camera]: 渲染场景的摄像机。

- [page:HTMLDOMElement domElement]: 用于事件监听的HTML元素。 + [page:HTMLDOMElement domElement]: 用于事件监听的HTML元素。(可选)

创建一个新的 [name] 实例。 @@ -97,53 +97,51 @@

hoveroff

属性

-

[property:Boolean enabled]

-

- 是否启用控制器。 -

+

共有属性请参见其基类[page:Controls]。

-

[property:Boolean transformGroup]

+

[property:Array objects]

- 当[page:DragControls.objects]数组包含一个单个可拖拽的组对象时该选项生效。如果设置为`true`,[name]会转换整个组对象,而不对单个对象做转换。默认值为`false`。 + 可拖放对象的数组。

-

[property:String mode]

+

[property:Raycaster raycaster]

- The current transformation mode. Possible values are `translate`, and `rotate`. Default is `translate`. + 内部用于检测拾取对象的光线投射器。

-

方法

- -

共有方法请参见其基类[page:EventDispatcher]。

- -

[method:undefined activate] ()

+

[property:Boolean recursive]

- 添加控制器的事件监听。 + 可拖放对象的子对象是否可以独立于其父对象进行拖放。 默认值为 `true`。

-

[method:undefined deactivate] ()

+

[property:Float rotateSpeed]

- 移除控制器的事件监听。 + 执行 `rotate` 时的旋转速度。该值越大旋转速度越快。 默认值为 `1`。

-

[method:undefined dispose] ()

+

[property:Boolean transformGroup]

- 若不再需要该控制器,则应当调用此函数。 + 当 [page:DragControls.objects] 数组包含一个单个可拖拽的组对象时该选项生效。 + 如果设置为`true`,[name]会转换整个组对象,而不对单个对象做转换。默认值为`false`。

-

[method:Array getObjects] ()

+

方法

+ +

共有方法请参见其基类[page:Controls]。

+ +

[method:undefined connect] ()

- 返回可拖拽的对象数组。 + 添加控制器的事件监听。

-

[method:Raycaster getRaycaster] ()

+

[method:undefined disconnect] ()

- 返回用于相交测试的内部[page:Raycaster]实例。 + 移除控制器的事件监听。

-

[method:undefined setObjects] ( [param:Array objects] )

+

[method:undefined dispose] ()

- Sets an array of draggable objects by overwriting the existing one. + 若不再需要该控制器,则应当调用此函数。

源代码

diff --git a/docs/examples/zh/controls/FirstPersonControls.html b/docs/examples/zh/controls/FirstPersonControls.html index 3e592d64e4229e..04d238da416561 100644 --- a/docs/examples/zh/controls/FirstPersonControls.html +++ b/docs/examples/zh/controls/FirstPersonControls.html @@ -7,6 +7,7 @@ + [page:Controls] →

第一人称控制器([name])

@@ -37,7 +38,7 @@

[name]( [param:Camera object], [param:HTMLDOMElement domElement] )

[page:Camera object]: 被控制的摄像机。

- [page:HTMLDOMElement domElement]: 用于事件监听的HTML元素。 + [page:HTMLDOMElement domElement]: 用于事件监听的HTML元素。(可选)

创建一个新的 [name] 实例。 @@ -46,60 +47,52 @@

[name]( [param:Camera object], [param:HTMLDOMElement domElement] )

属性

+

共有属性请参见其基类[page:Controls]。

+

[property:Boolean activeLook]

- 是否能够环视四周。默认为*true*。 + 是否能够环视四周。默认为 *true*。

[property:Boolean autoForward]

- 摄像机是否自动向前移动。默认为*false*。 + 摄像机是否自动向前移动。默认为 *false*。

[property:Boolean constrainVertical]

- 垂直环视是否约束在[[page:.verticalMin], [page:.verticalMax]]之间。默认值为*false*。 -

- -

[property:HTMLDOMElement domElement]

-

- 该 HTMLDOMElement 用于监听鼠标/触摸事件,该属性必须在构造函数中传入。在此处改变它将不会设置新的事件监听。 -

- -

[property:Boolean enabled]

-

- 是否启用控制器。默认为*true*。 + 垂直环视是否约束在[[page:.verticalMin], [page:.verticalMax]]之间。默认值为 *false*。

[property:Number heightCoef]

- 当Y坐标接近[page:.heightMax]时摄像机的移动速度。默认值为*1*。 + 当Y坐标接近[page:.heightMax]时摄像机的移动速度。默认值为 *1*。

[property:Number heightMax]

- 用于调节移动速度的摄像机最大高度限制。默认值为*1*。 + 用于调节移动速度的摄像机最大高度限制。默认值为 *1*。

[property:Number heightMin]

- 用于调节移动速度的摄像机最低高度限制。默认值为*0*。 + 用于调节移动速度的摄像机最低高度限制。默认值为 *0*。

[property:Boolean heightSpeed]

- 摄像机的高度是否影响向前移动的速度。默认值为*false*。 + 摄像机的高度是否影响向前移动的速度。默认值为 *false*。 使用属性 [page:.heightCoef]、 [page:.heightMin] 和 [page:.heightMax] 来进行配置。

[property:Boolean lookVertical]

- 是否能够垂直环视。默认为*true*。 + 是否能够垂直环视。默认为 *true*。

[property:Number lookSpeed]

- 环视速度。默认为*0.005*。 + 环视速度。默认为 *0.005*。

[property:Boolean mouseDragOn]

@@ -109,30 +102,22 @@

[property:Boolean mouseDragOn]

[property:Number movementSpeed]

- 移动速度。默认为*1*。 -

- -

[property:Camera object]

-

- 被控制的摄像机。 + 移动速度。默认为 *1*。

[property:Number verticalMax]

- 你能够垂直环视角度的上限。范围在 0 到 Math.PI 弧度之间。默认为*Math.PI*。 + 你能够垂直环视角度的上限。范围在 0 到 Math.PI 弧度之间。默认为 *Math.PI*。

[property:Number verticalMin]

- 你能够垂直环视角度的下限。范围在 0 到 Math.PI 弧度之间。默认为*0*。 + 你能够垂直环视角度的下限。范围在 0 到 Math.PI 弧度之间。默认为 *0*。

方法

- -

[method:undefined dispose] ()

-

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

+ +

共有方法请参见其基类[page:EventDispatcher]。

[method:undefined handleResize] ()

@@ -155,16 +140,6 @@

[method:FirstPersonControls lookAt]( [param:Vector3 vector] )

-

[method:undefined update] ( [param:Number delta] )

-

-

- [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] →

飞行控制器([name])

@@ -38,7 +39,7 @@

[name]( [param:Camera object], [param:HTMLDOMElement domElement] )

[page:Camera object]: 被控制的摄像机。

- [page:HTMLDOMElement domElement]: 用于事件监听的HTML元素。 + [page:HTMLDOMElement domElement]: 用于事件监听的HTML元素。(可选)

创建一个新的 [name] 实例。 @@ -53,58 +54,32 @@

change

属性

+ +

共有属性请参见其基类[page:Controls]。

[property:Boolean autoForward]

- 若该值设为*true*,初始变换后,摄像机将自动向前移动(且不会停止)。默认为*false*。 -

- -

[property:HTMLDOMElement domElement]

-

- 该 HTMLDOMElement 用于监听鼠标/触摸事件,该属性必须在构造函数中传入。在此处改变它将不会设置新的事件监听。 + 若该值设为 *true*,初始变换后,摄像机将自动向前移动(且不会停止)。默认为 *false*。

[property:Boolean dragToLook]

- 若该值设为*true*,你将只能通过执行拖拽交互来环视四周。默认为*false*。 -

- -

[property:Boolean enabled]

-

- 当设置为false时,控制器将不会响应用户的操作。默认值为true。 + 若该值设为 *true*,你将只能通过执行拖拽交互来环视四周。默认为 *false*。

[property:Number movementSpeed]

- 移动速度,默认为*1*。 -

- -

[property:Camera object]

-

- 被控制的摄像机。 + 移动速度,默认为 *1*。

[property:Number rollSpeed]

- 旋转速度。默认为*0.005*。 + 旋转速度。默认为 *0.005*。

方法

- -

[method:undefined dispose] ()

-

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

- -

[method:undefined update] ( [param:Number delta] )

-

-

- [page:Number delta]:时间增量值。 -

-

- 更新控制器,常被用在动画循环中。 -

-

+ +

共有方法请参见其基类[page:Controls]。

源代码

diff --git a/docs/examples/zh/controls/PointerLockControls.html b/docs/examples/zh/controls/PointerLockControls.html index 6a94c0b53b337d..cd9814fe7d6981 100644 --- a/docs/examples/zh/controls/PointerLockControls.html +++ b/docs/examples/zh/controls/PointerLockControls.html @@ -7,7 +7,7 @@ - [page:EventDispatcher] → + [page:Controls] →

指针锁定控制器([name])

@@ -85,11 +85,7 @@

unlock

属性

-

[property:HTMLDOMElement domElement]

-

- 该 HTMLDOMElement 用于监听鼠标/触摸事件,该属性必须在构造函数中传入。在此处改变它将不会设置新的事件监听。 -

- +

共有属性请参见其基类[page:Controls]。

[property:Boolean isLocked]

@@ -106,19 +102,9 @@

[property:Float minPolarAngle]

摄像机的俯仰角下限限制。范围为0到Math.PI弧度之间。默认值为0。

-

Methods

+

方法

-

共有方法请参见其基类[page:EventDispatcher]。

- -

[method:undefined connect] ()

-

- 添加控制器的事件监听。 -

- -

[method:undefined disconnect] ()

-

- 移除控制器的事件监听。 -

+

共有方法请参见其基类[page:Controls]。

[method:Vector3 getDirection] ( [param:Vector3 target] )

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",