Controls.html 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. <!DOCTYPE html>
  2. <html lang="zh">
  3. <head>
  4. <meta charset="utf-8" />
  5. <base href="../../../" />
  6. <script src="page.js"></script>
  7. <link type="text/css" rel="stylesheet" href="page.css" />
  8. </head>
  9. <body>
  10. [page:EventDispatcher] &rarr;
  11. <h1>控制器([name])</h1>
  12. <p class="desc">
  13. 控制器的抽象基类。
  14. </p>
  15. <h2>构造函数</h2>
  16. <h3>[name]( [param:Object3D object], [param:HTMLDOMElement domElement] )</h3>
  17. <p>
  18. [page:Object3D object] - 控件应该管理的对象(通常是相机)。
  19. </p>
  20. <p>
  21. [page:HTMLDOMElement domElement]: 用于添加事件侦听器的 HTML 元素。(可选)
  22. </p>
  23. <p>
  24. 创建一个 [name] 实例。
  25. </p>
  26. <h2>属性</h2>
  27. <h3>[property:HTMLDOMElement domElement]</h3>
  28. <p>
  29. 用于添加事件侦听器的 HTML 元素。 如果没有在构造函数中提供,[page:.connect]() 必须在 `domElement` 设置后才能调用。
  30. </p>
  31. <h3>[property:Boolean enabled]</h3>
  32. <p>
  33. 如果设置为 `false`,控制器将不再响应用户设备输入。 默认值为 `true`。
  34. </p>
  35. <h3>[property:Object keys]</h3>
  36. <p>
  37. 该对象用于定义控制器的键盘输入。
  38. 默认值为 `{}`。
  39. </p>
  40. <h3>[property:Object mouseButtons]</h3>
  41. <p>
  42. 此对象定义分配给可用鼠标按键的操作类型。
  43. 支持哪些鼠标按键和操作取决于控制器的具体实现。
  44. 默认值为 `{ LEFT: null, MIDDLE: null, RIGHT: null }`。
  45. </p>
  46. <p>
  47. 按键可能为: `LEFT`, `MIDDLE`, `RIGHT`。
  48. </p>
  49. <p>
  50. 可能的操作是定义在 [page:Core Constants] 中。
  51. </p>
  52. <h3>[property:Object3D object]</h3>
  53. <p>
  54. 由控制器管理的 Object3D 对象。
  55. </p>
  56. <h3>[property:Integer state]</h3>
  57. <p>
  58. 控制器的内部状态。默认值为 `-1` (`NONE`)。
  59. </p>
  60. <h3>[property:Object touches]</h3>
  61. <p>
  62. 此对象定义将哪种类型的操作分配给哪种触摸交互。
  63. 支持哪种触摸交互和操作取决于控制器的具体实现。
  64. 默认值为 `{ ONE: null, TWO: null }`。
  65. </p>
  66. <p>
  67. 可能触摸点操作有: `ONE`, `TWO`.
  68. </p>
  69. <p>
  70. 可能的操作是定义在 [page:Core Constants] 中。
  71. </p>
  72. <h2>方法</h2>
  73. <p>共有方法请参见其基类[page:EventDispatcher]。</p>
  74. <h3>[method:undefined connect] ()</h3>
  75. <p>
  76. 将控制器连接到 DOM。此方法具有所谓的“副作用”,因为它将模块的事件侦听器添加到 DOM。
  77. </p>
  78. <h3>[method:undefined disconnect] ()</h3>
  79. <p>
  80. 断开控制器与 DOM 的连接。
  81. </p>
  82. <h3>[method:undefined dispose] ()</h3>
  83. <p>
  84. 如果您不再需要使用这些控制器,请调用此方法。它将释放所有内部资源并删除所有事件侦听器。
  85. </p>
  86. <h3>[method:undefined update] ( [param:Number delta] )</h3>
  87. <p>
  88. 如果控制器必须在每个模拟步骤中更新其内部状态,则应实现此方法。
  89. </p>
  90. <h2>源代码</h2>
  91. <p>
  92. [link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
  93. </p>
  94. </body>
  95. </html>