# Class: TextureLoader

纹理资源[Texture](../modules#Texture)的加载器。

内置资源可以通过[registerTexture](../modules#registerTexture)注册，拥有内置资源`brdf-lut`、`white`、`transparent`、`black`、`red`、`green`、`blue`、`yellow`、`babyblue`、`babygreen`、`babyred`。

## Hierarchy

- [`AssetLoader`](AssetLoader)

  ↳ **`TextureLoader`**

## Table of contents

### Constructors

- constructor

### Properties

- schema

### Accessors

- scene

### Methods

- cancel
- getBuiltin
- load
- release

## Constructors

### constructor

• **new TextureLoader**(`_scene`, `type`)

#### Parameters

| Name | Type |
| :------ | :------ |
| `_scene` | [`Scene`](Scene) |
| `type` | `string` |

#### Inherited from

[AssetLoader](AssetLoader).[constructor](AssetLoader#constructor)

## Properties

### schema

• `Readonly` **schema**: [`ILoaderOptionsSchema`](/miniprogram/dev/reference/xr-frame/api/interfaces/ILoaderOptionsSchema)

和[Component.schema](Component#schema)类似，指定解析Options的实际`schema`，对应于`ILoadOptions`。

#### Overrides

[AssetLoader](AssetLoader).[schema](AssetLoader#schema)

## Accessors

### scene

• `get` **scene**(): [`Scene`](Scene)

当前资源所属场景的实例。

#### Returns

[`Scene`](Scene)

## Methods

### cancel

▸ **cancel**(`params`): `void`

取消加载特定资源。一般不需要自己编写逻辑，而是使用`entity.canceled`在加载终点丢弃。
注意`entity.canceled`是在这里赋值的，所以一般继承请务必先执行`super.cancel()`！

#### Parameters

| Name | Type |
| :------ | :------ |
| `params` | `IAssetLoadData` |

#### Returns

`void`

#### Inherited from

[AssetLoader](AssetLoader).[cancel](AssetLoader#cancel)

___

### getBuiltin

▸ **getBuiltin**(): { `assetId`: `string` = 'brdf-lut'; `options`: {} = {}; `src`: `string` = 'https://res8.wxqcloud.qq.com.cn/wxdoc/5f82c196-294b-4721-9297-314adbceacd7.png' }[]

返回默认资源列表。
所有默认资源都是惰性加载的。

#### Returns

{ `assetId`: `string` = 'brdf-lut'; `options`: {} = {}; `src`: `string` = 'https://res8.wxqcloud.qq.com.cn/wxdoc/5f82c196-294b-4721-9297-314adbceacd7.png' }[]

#### Overrides

[AssetLoader](AssetLoader).[getBuiltin](AssetLoader#getBuiltin)

___

### load

▸ **load**(`params`, `callbacks`): `void`

加载一个资源，并根据情况执行`callbacks`中的回调。
**理论上必须要实现！**

#### Parameters

| Name | Type |
| :------ | :------ |
| `params` | `ITextureLoadData` |
| `callbacks` | `Object` |
| `callbacks.onError` | (`error`: `Error`) => `void` |
| `callbacks.onLoaded` | (`value`: `default`) => `void` |
| `callbacks.onLoading` | (`progress`: `number`) => `void` |

#### Returns

`void`

#### Overrides

[AssetLoader](AssetLoader).[load](AssetLoader#load)

___

### release

▸ **release**(`params`, `value`): `void`

释放资源时将会调用，用于自定义释放逻辑。

#### Parameters

| Name | Type |
| :------ | :------ |
| `params` | `ITextureLoadData` |
| `value` | `default` |

#### Returns

`void`

#### Overrides

[AssetLoader](AssetLoader).[release](AssetLoader#release)
