[page:Object3D] →

# 精灵（[name]）

精灵是一个总是面朝着摄像机的平面，通常含有使用一个半透明的纹理。
精灵不会投射任何阴影，即使设置了`castShadow = true`也将不会有任何效果。

## 示例

`var spriteMap = new THREE.TextureLoader().load( "sprite.png" ); var spriteMaterial = new THREE.SpriteMaterial( { map: spriteMap, color: 0xffffff } ); var sprite = new THREE.Sprite( spriteMaterial ); scene.add( sprite );`

## 构造器

### [name]( [param:Material material] )

[page:Material material] - （可选值）是[page:SpriteMaterial]的一个实例。 默认值是一个白色的[page:SpriteMaterial]。
创建一个新的[name]。

## 属性

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

### [property:Boolean isSprite]

用于检查这个类或者其派生类是否为精灵，默认值为*true*。
你不应当对这个属性进行改变，因为它在内部使用，以用于优化。

### [property:SpriteMaterial material]

[page:SpriteMaterial]的一个实例，定义了这个对象的外观。默认值是一个白色的[page:SpriteMaterial]。

### [property:Vector2 center]

这个精灵的锚点，也就是精灵旋转时，围绕着旋转的点。当值为(0.5,0.5)时，对应着这个精灵的中心点；当值为(0,0)时，对应着这个精灵左下角的点。
其默认值是(0.5,0.5)。

## 方法

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

### [method:Sprite clone]()

返回当前Sprite对象的一个克隆及其任何后代。

### [method:Sprite copy]( [param:Sprite sprite] )

将前一个Sprite对象的属性复制给当前的这个对象。

### [method:null raycast]( [param:Raycaster raycaster], [param:Array intersects] )

在投射的光线和精灵之前产生交互。[page:Raycaster.intersectObject]将会调用这个方法。 在对sprite进行射线投射之前，射线投射必须通过调用[page:Raycaster.setFromCamera]()来初始化。

## 源代码

[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]