Просмотр исходного кода

[Doc/zh]: Improve Chinese translation related to `Controls`. (#29107)

* [Docs/zh]: Improve DragControls Chinese translation.

* add zh Controls.html

* update zh PointerLockControls.html

* update zh PointerLockControls.html

* update zh FlyControls

* update zh FirstPersonControls

* update zh ArcballControls
puxiao 1 год назад
Родитель
Сommit
4f067f0f4d

+ 7 - 25
docs/examples/zh/controls/ArcballControls.html

@@ -9,7 +9,7 @@
 </head>
 
 <body>
-	[page:EventDispatcher] &rarr;
+	[page:Controls] &rarr;
 
 	<h1>弧球控制器([name])</h1>
 
@@ -70,9 +70,9 @@
 	<p>
 		[page:Camera camera]:(必填)要控制的相机。相机不能是另一个对象的子对象,除非该对象是场景本身。<br><br>
 
-		[page:HTMLDOMElement domElement]: 用于事件侦听器的 HTML 元素。<br><br>
+		[page:HTMLDOMElement domElement]: 用于事件侦听器的 HTML 元素。(可选)<br><br>
 
-		[page:Scene scene]: 相机渲染的场景。如果未给出,则小控件无法显示。
+		[page:Scene scene]: 相机渲染的场景。如果未给出,则小控件无法显示。(可选)
 	</p>
 
 	<h2>事件</h2>
@@ -94,6 +94,8 @@
 
 	<h2>属性</h2>
 
+	<p>共有属性请参见其基类[page:Controls]。</p>
+
 	<h3>[property:Boolean adjustNearFar]</h3>
 	<p>
 		如果为 true,则每次执行缩放时都会调整相机的近端和远端值,尝试保持初始近端和远端值给出的相同可见部分(仅限 [page:PerspectiveCamera] )。默认为 false。
@@ -116,16 +118,6 @@
 		设置为 [page:.enableAnimations] 为true 时使用的阻尼惯性。
 	</p>
 
-	<h3>[property:HTMLDOMElement domElement]</h3>
-	<p>
-		HTMLDOMElement 用于监听鼠标/触摸事件。这必须在构造函数中传递;此处更改它不会设置新的事件侦听器。
-	</p>
-
-	<h3>[property:Boolean enabled]</h3>
-	<p>
-		当设置为 时 `false`,小控件将不再响应用户交互。默认为 `true`。
-	</p>
-
 	<h3>[property:Boolean enableAnimations]</h3>
 	<p>
 		设置为 true 以启用旋转(阻尼)和聚焦操作的动画。默认为 true。
@@ -201,9 +193,10 @@
 		旋转动画开始时允许的最大角速度。
 	</p>
 
-
 	<h2>方法</h2>
 
+	<p>共有方法请参见其基类[page:Controls]。</p>
+
 	<h3>[method:undefined activateGizmos] ( [param:Boolean isActive] )</h3>
 	<p>
 		使小控件或多或少可见。
@@ -214,11 +207,6 @@
 		将当前状态复制到剪贴板(作为可读的 JSON 文本)。
 	</p>
 
-	<h3>[method:undefined dispose] ()</h3>
-	<p>
-		删除所有事件侦听器,取消任何待处理的动画并清除场景中的小控件和网格。
-	</p>
-
 	<h3>[method:undefined pasteState] ()</h3>
 	<p>
 		从剪贴板设置控件状态,假设剪贴板存储从 [page:.copyState] 保存的 JSON 文本。
@@ -264,16 +252,10 @@
 		键盘修饰符可以指定为 'CTRL'、'SHIFT' 或 null(如果不再需要) 。
 	</p>
 
-	<h3>[method:undefined update] ()</h3>
-	<p>
-		更新控件。必须在对相机变换进行任何手动更改后调用。
-	</p>
-
 	<h3>[method:Raycaster getRaycaster] ()</h3>
 	<p>
 		返回用于用户交互的 [page:Raycaster] 对象。如果设置了 [name] 的 [page:Object3D.layers .layers] 属性,您还需要使用匹配的值设置 [page:Raycaster.layers
 		.layers] 的 [page:Raycaster] 属性,否则 [name] 将无法按预期工作。
-		won't work as expected.
 	</p>
 
 	<h2>源代码</h2>

+ 116 - 0
docs/examples/zh/controls/Controls.html

@@ -0,0 +1,116 @@
+<!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:EventDispatcher] &rarr;
+
+		<h1>控制器([name])</h1>
+
+		<p class="desc">
+			控制器的抽象基类。
+		</p>
+
+		<h2>构造函数</h2>
+
+		<h3>[name]( [param:Object3D object], [param:HTMLDOMElement domElement] )</h3>
+		
+		<p>
+		[page:Object3D object] - 控件应该管理的对象(通常是相机)。
+		</p>
+		<p>
+		[page:HTMLDOMElement domElement]: 用于添加事件侦听器的 HTML 元素。(可选)
+		</p>
+		<p>
+			创建一个 [name] 实例。
+		</p>
+		
+		<h2>属性</h2>
+
+		<h3>[property:HTMLDOMElement domElement]</h3>
+		<p>
+			用于添加事件侦听器的 HTML 元素。 如果没有在构造函数中提供,[page:.connect]() 必须在 `domElement` 设置后才能调用。
+		</p>
+
+		<h3>[property:Boolean enabled]</h3>
+		<p>
+			如果设置为 `false`,控制器将不再响应用户设备输入。 默认值为 `true`。
+		</p>
+
+		<h3>[property:Object keys]</h3>
+		<p>
+			该对象用于定义控制器的键盘输入。
+			默认值为 `{}`。
+		</p>
+
+		<h3>[property:Object mouseButtons]</h3>
+		<p>
+			此对象定义分配给可用鼠标按键的操作类型。
+			支持哪些鼠标按键和操作取决于控制器的具体实现。
+			默认值为 `{ LEFT: null, MIDDLE: null, RIGHT: null }`。
+		</p>
+		<p>
+			按键可能为: `LEFT`, `MIDDLE`, `RIGHT`。
+		</p>
+		<p>
+			可能的操作是定义在 [page:Core Constants] 中。
+		</p>
+
+		<h3>[property:Object3D object]</h3>
+		<p>
+			由控制器管理的 Object3D 对象。
+		</p>
+
+		<h3>[property:Integer state]</h3>
+		<p>
+			控制器的内部状态。默认值为 `-1` (`NONE`)。
+		</p>
+
+		<h3>[property:Object touches]</h3>
+		<p>
+			此对象定义将哪种类型的操作分配给哪种触摸交互。
+			支持哪种触摸交互和操作取决于控制器的具体实现。
+			默认值为 `{ ONE: null, TWO: null }`。
+		</p>
+		<p>
+			可能触摸点操作有: `ONE`, `TWO`.
+		</p>
+		<p>
+			可能的操作是定义在 [page:Core Constants] 中。
+		</p>
+
+		<h2>方法</h2>
+
+		<p>共有方法请参见其基类[page:EventDispatcher]。</p>
+
+		<h3>[method:undefined connect] ()</h3>
+		<p>
+			将控制器连接到 DOM。此方法具有所谓的“副作用”,因为它将模块的事件侦听器添加到 DOM。
+		</p>
+
+		<h3>[method:undefined disconnect] ()</h3>
+		<p>
+			断开控制器与 DOM 的连接。
+		</p>
+
+		<h3>[method:undefined dispose] ()</h3>
+		<p>
+			如果您不再需要使用这些控制器,请调用此方法。它将释放所有内部资源并删除所有事件侦听器。
+		</p>
+
+		<h3>[method:undefined update] ( [param:Number delta] )</h3>
+		<p>
+			如果控制器必须在每个模拟步骤中更新其内部状态,则应实现此方法。
+		</p>
+
+		<h2>源代码</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/examples/jsm/controls/Controls.js examples/jsm/controls/Controls.js]
+		</p>
+	</body>
+</html>

+ 24 - 26
docs/examples/zh/controls/DragControls.html

@@ -7,7 +7,7 @@
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>
 	<body>
-		[page:EventDispatcher] &rarr;
+		[page:Controls] &rarr;
 
 		<h1>拖放控制器([name])</h1>
 
@@ -61,7 +61,7 @@
 			[page:Camera camera]: 渲染场景的摄像机。
 			</p>
 			<p>
-			[page:HTMLDOMElement domElement]: 用于事件监听的HTML元素。
+			[page:HTMLDOMElement domElement]: 用于事件监听的HTML元素。(可选)
 			</p>
 			<p>
 				创建一个新的 [name] 实例。
@@ -97,53 +97,51 @@
 
 		<h2>属性</h2>
 
-		<h3>[property:Boolean enabled]</h3>
-		<p>
-			是否启用控制器。
-		</p>
+		<p>共有属性请参见其基类[page:Controls]。</p>
 
-		<h3>[property:Boolean transformGroup]</h3>
+		<h3>[property:Array objects]</h3>
 		<p>
-			当[page:DragControls.objects]数组包含一个单个可拖拽的组对象时该选项生效。如果设置为`true`,[name]会转换整个组对象,而不对单个对象做转换。默认值为`false`
+			可拖放对象的数组
 		</p>
 
-		<h3>[property:String mode]</h3>
+		<h3>[property:Raycaster raycaster]</h3>
 		<p>
-			The current transformation mode. Possible values are `translate`, and `rotate`. Default is `translate`.
+			内部用于检测拾取对象的光线投射器。
 		</p>
 
-		<h2>方法</h2>
-
-		<p>共有方法请参见其基类[page:EventDispatcher]。</p>
-
-		<h3>[method:undefined activate] ()</h3>
+		<h3>[property:Boolean recursive]</h3>
 		<p>
-			添加控制器的事件监听
+			可拖放对象的子对象是否可以独立于其父对象进行拖放。 默认值为 `true`。
 		</p>
 
-		<h3>[method:undefined deactivate] ()</h3>
+		<h3>[property:Float rotateSpeed]</h3>
 		<p>
-			移除控制器的事件监听
+			执行 `rotate` 时的旋转速度。该值越大旋转速度越快。 默认值为 `1`
 		</p>
 
-		<h3>[method:undefined dispose] ()</h3>
+		<h3>[property:Boolean transformGroup]</h3>
 		<p>
-			若不再需要该控制器,则应当调用此函数。
+			当 [page:DragControls.objects] 数组包含一个单个可拖拽的组对象时该选项生效。
+			如果设置为`true`,[name]会转换整个组对象,而不对单个对象做转换。默认值为`false`。
 		</p>
 
-		<h3>[method:Array getObjects] ()</h3>
+		<h2>方法</h2>
+
+		<p>共有方法请参见其基类[page:Controls]。</p>
+
+		<h3>[method:undefined connect] ()</h3>
 		<p>
-			返回可拖拽的对象数组。
+			添加控制器的事件监听
 		</p>
 
-		<h3>[method:Raycaster getRaycaster] ()</h3>
+		<h3>[method:undefined disconnect] ()</h3>
 		<p>
-			返回用于相交测试的内部[page:Raycaster]实例
+			移除控制器的事件监听
 		</p>
 
-		<h3>[method:undefined setObjects] ( [param:Array objects] )</h3>
+		<h3>[method:undefined dispose] ()</h3>
 		<p>
-			Sets an array of draggable objects by overwriting the existing one.
+			若不再需要该控制器,则应当调用此函数。
 		</p>
 
 		<h2>源代码</h2>

+ 18 - 43
docs/examples/zh/controls/FirstPersonControls.html

@@ -7,6 +7,7 @@
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>
 	<body>
+		[page:Controls] &rarr;
 
 		<h1>第一人称控制器([name])</h1>
 
@@ -37,7 +38,7 @@
 				[page:Camera object]: 被控制的摄像机。
 			</p>
 			<p>
-				[page:HTMLDOMElement domElement]: 用于事件监听的HTML元素。
+				[page:HTMLDOMElement domElement]: 用于事件监听的HTML元素。(可选)
 			</p>
 			<p>
 				创建一个新的 [name] 实例。
@@ -46,60 +47,52 @@
 
 		<h2>属性</h2>
 
+		<p>共有属性请参见其基类[page:Controls]。</p>
+
 		<h3>[property:Boolean activeLook]</h3>
 		<p>
-			是否能够环视四周。默认为*true*。
+			是否能够环视四周。默认为 *true*。
 		</p>
 
 		<h3>[property:Boolean autoForward]</h3>
 		<p>
-			摄像机是否自动向前移动。默认为*false*。
+			摄像机是否自动向前移动。默认为 *false*。
 		</p>
 
 		<h3>[property:Boolean constrainVertical]</h3>
 		<p>
-			垂直环视是否约束在[[page:.verticalMin], [page:.verticalMax]]之间。默认值为*false*。
-		</p>
-
-		<h3>[property:HTMLDOMElement domElement]</h3>
-		<p>
-			该 HTMLDOMElement 用于监听鼠标/触摸事件,该属性必须在构造函数中传入。在此处改变它将不会设置新的事件监听。
-		</p>
-
-		<h3>[property:Boolean enabled]</h3>
-		<p>
-			是否启用控制器。默认为*true*。
+			垂直环视是否约束在[[page:.verticalMin], [page:.verticalMax]]之间。默认值为 *false*。
 		</p>
 
 		<h3>[property:Number heightCoef]</h3>
 		<p>
-			当Y坐标接近[page:.heightMax]时摄像机的移动速度。默认值为*1*。
+			当Y坐标接近[page:.heightMax]时摄像机的移动速度。默认值为 *1*。
 		</p>
 
 		<h3>[property:Number heightMax]</h3>
 		<p>
-			用于调节移动速度的摄像机最大高度限制。默认值为*1*。
+			用于调节移动速度的摄像机最大高度限制。默认值为 *1*。
 		</p>
 
 		<h3>[property:Number heightMin]</h3>
 		<p>
-			用于调节移动速度的摄像机最低高度限制。默认值为*0*。
+			用于调节移动速度的摄像机最低高度限制。默认值为 *0*。
 		</p>
 
 		<h3>[property:Boolean heightSpeed]</h3>
 		<p>
-			摄像机的高度是否影响向前移动的速度。默认值为*false*。
+			摄像机的高度是否影响向前移动的速度。默认值为 *false*。
 			使用属性 [page:.heightCoef]、 [page:.heightMin] 和 [page:.heightMax] 来进行配置。
 		</p>
 
 		<h3>[property:Boolean lookVertical]</h3>
 		<p>
-			是否能够垂直环视。默认为*true*。
+			是否能够垂直环视。默认为 *true*。
 		</p>
 
 		<h3>[property:Number lookSpeed]</h3>
 		<p>
-			环视速度。默认为*0.005*。
+			环视速度。默认为 *0.005*。
 		</p>
 
 		<h3>[property:Boolean mouseDragOn]</h3>
@@ -109,30 +102,22 @@
 
 		<h3>[property:Number movementSpeed]</h3>
 		<p>
-			移动速度。默认为*1*。
-		</p>
-
-		<h3>[property:Camera object]</h3>
-		<p>
-			被控制的摄像机。
+			移动速度。默认为 *1*。
 		</p>
 
 		<h3>[property:Number verticalMax]</h3>
 		<p>
-			你能够垂直环视角度的上限。范围在 0 到 Math.PI 弧度之间。默认为*Math.PI*。
+			你能够垂直环视角度的上限。范围在 0 到 Math.PI 弧度之间。默认为 *Math.PI*。
 		</p>
 
 		<h3>[property:Number verticalMin]</h3>
 		<p>
-			你能够垂直环视角度的下限。范围在 0 到 Math.PI 弧度之间。默认为*0*。
+			你能够垂直环视角度的下限。范围在 0 到 Math.PI 弧度之间。默认为 *0*。
 		</p>
 
 		<h2>方法</h2>
-
-		<h3>[method:undefined dispose] ()</h3>
-		<p>
-			若不再需要该控制器,则应当调用此函数。
-		</p>
+		
+		<p>共有方法请参见其基类[page:EventDispatcher]。</p>
 
 		<h3>[method:undefined handleResize] ()</h3>
 		<p>
@@ -155,16 +140,6 @@
 			</p>
 		</p>
 
-		<h3>[method:undefined update] ( [param:Number delta] )</h3>
-		<p>
-			<p>
-				[page:Number delta]:时间增量值。
-			</p>
-			<p>
-				更新控制器,常被用在动画循环中。
-			</p>
-		</p>
-
 		<h2>源代码</h2>
 
 		<p>

+ 10 - 35
docs/examples/zh/controls/FlyControls.html

@@ -7,6 +7,7 @@
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>
 	<body>
+		[page:Controls] &rarr;
 
 		<h1>飞行控制器([name])</h1>
 
@@ -38,7 +39,7 @@
 				[page:Camera object]: 被控制的摄像机。
 			</p>
 			<p>
-				[page:HTMLDOMElement domElement]: 用于事件监听的HTML元素。
+				[page:HTMLDOMElement domElement]: 用于事件监听的HTML元素。(可选)
 			</p>
 			<p>
 				创建一个新的 [name] 实例。
@@ -53,58 +54,32 @@
 		</p>
 
 		<h2>属性</h2>
+		
+		<p>共有属性请参见其基类[page:Controls]。</p>
 
 		<h3>[property:Boolean autoForward]</h3>
 		<p>
-			若该值设为*true*,初始变换后,摄像机将自动向前移动(且不会停止)。默认为*false*。
-		</p>
-
-		<h3>[property:HTMLDOMElement domElement]</h3>
-		<p>
-			该 HTMLDOMElement 用于监听鼠标/触摸事件,该属性必须在构造函数中传入。在此处改变它将不会设置新的事件监听。
+			若该值设为 *true*,初始变换后,摄像机将自动向前移动(且不会停止)。默认为 *false*。
 		</p>
 
 		<h3>[property:Boolean dragToLook]</h3>
 		<p>
-			若该值设为*true*,你将只能通过执行拖拽交互来环视四周。默认为*false*。
-		</p>
-
-		<h3>[property:Boolean enabled]</h3>
-		<p>
-			当设置为false时,控制器将不会响应用户的操作。默认值为true。
+			若该值设为 *true*,你将只能通过执行拖拽交互来环视四周。默认为 *false*。
 		</p>
 
 		<h3>[property:Number movementSpeed]</h3>
 		<p>
-			移动速度,默认为*1*。
-		</p>
-
-		<h3>[property:Camera object]</h3>
-		<p>
-			被控制的摄像机。
+			移动速度,默认为 *1*。
 		</p>
 
 		<h3>[property:Number rollSpeed]</h3>
 		<p>
-			旋转速度。默认为*0.005*。
+			旋转速度。默认为 *0.005*。
 		</p>
 
 		<h2>方法</h2>
-
-		<h3>[method:undefined dispose] ()</h3>
-		<p>
-			若不再需要该控制器,则应当调用此函数。
-		</p>
-
-		<h3>[method:undefined update] ( [param:Number delta] )</h3>
-		<p>
-			<p>
-				[page:Number delta]:时间增量值。
-			</p>
-			<p>
-				更新控制器,常被用在动画循环中。
-			</p>
-		</p>
+		
+		<p>共有方法请参见其基类[page:Controls]。</p>
 
 		<h2>源代码</h2>
 

+ 4 - 18
docs/examples/zh/controls/PointerLockControls.html

@@ -7,7 +7,7 @@
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>
 	<body>
-		[page:EventDispatcher] &rarr;
+		[page:Controls] &rarr;
 
 		<h1>指针锁定控制器([name])</h1>
 
@@ -85,11 +85,7 @@
 
 		<h2>属性</h2>
 
-		<h3>[property:HTMLDOMElement domElement]</h3>
-		<p>
-			该 HTMLDOMElement 用于监听鼠标/触摸事件,该属性必须在构造函数中传入。在此处改变它将不会设置新的事件监听。
-		</p>
-
+		<p>共有属性请参见其基类[page:Controls]。</p>
 
 		<h3>[property:Boolean isLocked]</h3>
 		<p>
@@ -106,19 +102,9 @@
 			摄像机的俯仰角下限限制。范围为0到Math.PI弧度之间。默认值为0。
 		</p>
 
-		<h2>Methods</h2>
+		<h2>方法</h2>
 
-		<p>共有方法请参见其基类[page:EventDispatcher]。</p>
-
-		<h3>[method:undefined connect] ()</h3>
-		<p>
-			添加控制器的事件监听。
-		</p>
-
-		<h3>[method:undefined disconnect] ()</h3>
-		<p>
-			移除控制器的事件监听。
-		</p>
+		<p>共有方法请参见其基类[page:Controls]。</p>
 
 		<h3>[method:Vector3 getDirection] ( [param:Vector3 target] )</h3>
 		<p>

+ 1 - 0
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",

粤ICP备19079148号