A texture atlas is a collection of many smaller textures in one big image. This class is used to access textures from such an atlas.

Using a texture atlas for your textures solves two problems:

- Whenever you switch between textures, the batching of image objects is disrupted.
- Any Stage3D texture has to have side lengths that are powers of two. Starling hides this limitation from you, but at the cost of additional graphics memory.

By using a texture atlas, you avoid both texture switches and the power-of-two limitation. All textures are within one big "super-texture", and Starling takes care that the correct part of this texture is displayed.

There are several ways to create a texture atlas. One is to use the atlas generator script that is bundled with Starling's sibling, the Sparrow framework. It was only tested in Mac OS X, though. A great multi-platform alternative is the commercial tool Texture Packer.

Whatever tool you use, Starling expects the following file format:

    						<TextureAtlas imagePath='atlas.png'>
    						<SubTexture name='texture_1' x='0'  y='0' width='50' height='50'/>
    						<SubTexture name='texture_2' x='50' y='0' width='20' height='30'/>
    						</TextureAtlas>

Texture Frame

If your images have transparent areas at their edges, you can make use of the `frame` property of the Texture class. Trim the texture by removing the transparent edges and specify the original texture size like this:

    						<SubTexture name='trimmed' x='0' y='0' height='10' width='10'
    						frameX='-10' frameY='-10' frameWidth='30' frameHeight='30'/>

Texture Rotation

Some atlas generators can optionally rotate individual textures to optimize the texture distribution. This is supported via the boolean attribute "rotated". If it is set to `true` for a certain subtexture, this means that the texture on the atlas has been rotated by 90 degrees, clockwise. Starling will undo that rotation by rotating it counter-clockwise.

In this case, the positional coordinates (`x, y, width, height`) are expected to point at the subtexture as it is present on the atlas (in its rotated form), while the "frame" properties must describe the texture in its upright form.

### Hierarchy

- TextureAtlas

## Index

### Constructors

- constructor

### Properties

- texture

### Methods

- addRegion
- dispose
- getFrame
- getNames
- getRegion
- getRotation
- getTexture
- getTextures
- get_texture
- removeRegion

## Constructors

### constructor

- new TextureAtlas(texture: Texture, data?: any): TextureAtlas

- - Defined in lib/starling/textures/TextureAtlas.d.ts:64

  Create a texture atlas from a texture and atlas data. The second argument typically points to an XML file.

  #### Parameters

  - ##### texture: Texture

  - ##### Optional data: any

  #### Returns TextureAtlas

## Properties

### texture

texture: Texture

- Defined in lib/starling/textures/TextureAtlas.d.ts:103

The base texture that makes up the atlas.

## Methods

### addRegion

- addRegion(name: string, region: Rectangle, frame?: Rectangle, rotated?: boolean): void

- - Defined in lib/starling/textures/TextureAtlas.d.ts:96

  Adds a named region for a SubTexture (described by rectangle with coordinates in points) with an optional frame.

  #### Parameters

  - ##### name: string

  - ##### region: Rectangle

  - ##### Optional frame: Rectangle

  - ##### Optional rotated: boolean

  #### Returns void

### dispose

- dispose(): void

- - Defined in lib/starling/textures/TextureAtlas.d.ts:70

  Disposes the atlas texture.

  #### Returns void

### getFrame

- getFrame(name: string): Rectangle

- - Defined in lib/starling/textures/TextureAtlas.d.ts:88

  Returns the frame rectangle of a specific region, or `null` if that region has no frame.

  #### Parameters

  - ##### name: string

  #### Returns Rectangle

### getNames

- getNames(prefix?: string, result?: Vector<string>): Vector<string>

- - Defined in lib/starling/textures/TextureAtlas.d.ts:80

  Returns all texture names that start with a certain string, sorted alphabetically.

  #### Parameters

  - ##### Optional prefix: string

  - ##### Optional result: Vector<string>

  #### Returns Vector<string>

### getRegion

- getRegion(name: string): Rectangle

- - Defined in lib/starling/textures/TextureAtlas.d.ts:84

  Returns the region rectangle associated with a specific name, or `null` if no region with that name has been registered.

  #### Parameters

  - ##### name: string

  #### Returns Rectangle

### getRotation

- getRotation(name: string): boolean

- - Defined in lib/starling/textures/TextureAtlas.d.ts:92

  If true, the specified region in the atlas is rotated by 90 degrees (clockwise). The SubTexture is thus rotated counter-clockwise to cancel out that transformation.

  #### Parameters

  - ##### name: string

  #### Returns boolean

### getTexture

- getTexture(name: string): Texture

- - Defined in lib/starling/textures/TextureAtlas.d.ts:73

  Retrieves a SubTexture by name. Returns `null` if it is not found.

  #### Parameters

  - ##### name: string

  #### Returns Texture

### getTextures

- getTextures(prefix?: string, result?: Vector<Texture>): Vector<Texture>

- - Defined in lib/starling/textures/TextureAtlas.d.ts:77

  Returns all textures that start with a certain string, sorted alphabetically (especially useful for "MovieClip").

  #### Parameters

  - ##### Optional prefix: string

  - ##### Optional result: Vector<Texture>

  #### Returns Vector<Texture>

### Protected get_texture

- get_texture(): Texture

- - Defined in lib/starling/textures/TextureAtlas.d.ts:104

  #### Returns Texture

### removeRegion

- removeRegion(name: string): void

- - Defined in lib/starling/textures/TextureAtlas.d.ts:100

  Removes a region with a certain name.

  #### Parameters

  - ##### name: string

  #### Returns void

Generated using TypeDoc