# 飞行控制器（[name]）

[name] 启用了一种类似于数字内容创建工具（例如Blender）中飞行模式的导航方式。 你可以在3D空间中任意变换摄像机，并且无任何限制（例如，专注于一个特定的目标）。

## 进口

[name] 是一个附加组件，必须显式导入。 See [link:#manual/introduction/Installation Installation / Addons].

`import { FlyControls } from 'three/addons/controls/FlyControls.js';`

## 例子

[example:misc_controls_fly misc / controls / fly ]

## 构造函数

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

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

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

创建一个新的 [name] 实例。

## Events

### change

当摄像机被组件改变时触发。

## 属性

### [property:Boolean autoForward]

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

### [property:HTMLDOMElement domElement]

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

### [property:Boolean dragToLook]

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

### [property:Boolean enabled]

当设置为false时，控制器将不会响应用户的操作。默认值为true。

### [property:Number movementSpeed]

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

### [property:Camera object]

被控制的摄像机。

### [property:Number rollSpeed]

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

## 方法

### [method:undefined dispose] ()

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

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

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

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

## 源代码

[link:https://github.com/mrdoob/three.js/blob/master/examples/jsm/controls/FlyControls.js examples/jsm/controls/FlyControls.js]