# Class: Atlas

图集资源。

**`version`** 2.27.1

一般通过[AtlasLoader](AtlasLoader)加载自动生成。
推荐使用[Shoebox](https://www.renderhjs.net/shoebox/)等工具生成。

## Table of contents

### Constructors

- constructor

### Properties

- isAtlas

### Accessors

- frames
- meta
- texture

### Methods

- getFrame
- getUVMatrix
- getUVST
- updateFrame
- CREATE\_FROM\_GRIDS
- CREATE\_FROM\_TEXTURE

## Constructors

### constructor

• **new Atlas**(`_scene`, `options`)

构建一个图集。

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `_scene` | [`Scene`](Scene) | - |
| `options` | [`IAtlasOptions`](/miniprogram/dev/reference/xr-frame/api/interfaces/IAtlasOptions) | 初始化参数。 |

## Properties

### isAtlas

• **isAtlas**: `boolean` = `true`

## Accessors

### frames

• `get` **frames**(): `Object`

获取帧集合。

#### Returns

`Object`

___

### meta

• `get` **meta**(): `Object`

获取元信息。

#### Returns

`Object`

| Name | Type |
| :------ | :------ |
| `size` | { `h`: `number` ; `w`: `number`  } |
| `size.h` | `number` |
| `size.w` | `number` |

___

### texture

• `get` **texture**(): `default`

获取整体的纹理。

#### Returns

`default`

## Methods

### getFrame

▸ **getFrame**(`frameName`): `Object`

获取某一帧的数据。

#### Parameters

| Name | Type |
| :------ | :------ |
| `frameName` | `string` |

#### Returns

`Object`

| Name | Type |
| :------ | :------ |
| `h` | `number` |
| `w` | `number` |
| `x` | `number` |
| `y` | `number` |

___

### getUVMatrix

▸ **getUVMatrix**(`frameName`): [`Matrix3`](Matrix3)

获取某一帧的uv变换矩阵。

#### Parameters

| Name | Type |
| :------ | :------ |
| `frameName` | `string` |

#### Returns

[`Matrix3`](Matrix3)

___

### getUVST

▸ **getUVST**(`frameName`): [`Vector4`](Vector4)

获取某一帧的uvST。
[sx, sy, tx, ty]。

#### Parameters

| Name | Type |
| :------ | :------ |
| `frameName` | `string` |

#### Returns

[`Vector4`](Vector4)

___

### updateFrame

▸ **updateFrame**(`frameName`, `onUpdate`): `void`

更新某一frame，通过`onUpdate`方法参数中的`texture`和`region`来更新上此帧所占据区域内的图像。

#### Parameters

| Name | Type |
| :------ | :------ |
| `frameName` | `string` |
| `onUpdate` | (`texture`: `default`, `region`: { `h`: `number` ; `w`: `number` ; `x`: `number` ; `y`: `number`  }, `frameName`: `string`) => `void` |

#### Returns

`void`

___

### CREATE\_FROM\_GRIDS

▸ `Static` **CREATE_FROM_GRIDS**(`scene`, `options`, `onUpdate?`): [`Atlas`](Atlas)

根据宽高和行数、列数来创建一个空的图集。
这个图集将被行列分成若干个格子帧，开发者可以根据实际状况去使用`updateFrame`更新这些格子。
自动生成的帧的名字为`${row}${col}`，比如第一行第一列为`'11'`。

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `scene` | [`Scene`](Scene) | - |
| `options` | `Object` | - |
| `options.cols` | `number` | - |
| `options.height` | `number` | - |
| `options.rows` | `number` | - |
| `options.space?` | `number` | - |
| `options.width` | `number` | - |
| `onUpdate?` | (`texture`: `default`, `region`: { `col`: `number` ; `h`: `number` ; `row`: `number` ; `w`: `number` ; `x`: `number` ; `y`: `number`  }, `frameName`: `string`) => `void` | 初始化时的回调，可以用于一开始绘制图像 |

#### Returns

[`Atlas`](Atlas)

___

### CREATE\_FROM\_TEXTURE

▸ `Static` **CREATE_FROM_TEXTURE**(`scene`, `texture`, `options`): [`Atlas`](Atlas)

根据纹理和配置，来通过纹理创建一个不可修改的图集。通常用于精灵动画。
这个图集将被行列分成若干个格子帧，每一帧的名字为`0`、`1`、`2`......

#### Parameters

| Name | Type |
| :------ | :------ |
| `scene` | [`Scene`](Scene) |
| `texture` | `default` |
| `options` | [`IAtlasCreationOptions`](/miniprogram/dev/reference/xr-frame/api/interfaces/IAtlasCreationOptions) |

#### Returns

[`Atlas`](Atlas)
