Atlas frames collection. It makes possible to use texture atlases in Flixel. Plus it contains few packer parser methods for most commonly used atlas formats.

Static methods

staticfindFrame(graphic:FlxGraphic, ?border:FlxPoint):FlxAtlasFrames

Returns the FlxAtlasFrame of the specified FlxGraphic object.

Parameters:

graphic

FlxGraphic object to find the FlxAtlasFrames collection for.

Returns:

FlxAtlasFrames collection for the specified FlxGraphic object Could be null if FlxGraphic doesn't have it yet.

staticinlinefromAseprite(source:FlxGraphicAsset, description:FlxAsepriteJsonAsset):FlxAtlasFrames

Parsing method for atlases generated from Aseprite's JSON export options. Note that Aseprite and Texture Packer use the same JSON format, however this method honors frames' duration whereas fromTexturePackerJson ignores it by default (for backwrds compatibility reasons).

Parameters:

source

The image source (can be FlxGraphic, String, or BitmapData).

description

Contents of JSON file with atlas description. You can get it with Assets.getText(path/to/description.json). Or you can just a pass path to the JSON file in the assets directory. You can also directly pass in the parsed object.

Returns:

Newly created FlxAtlasFrames collection.

See also:

staticfromLibGdx(source:FlxGraphicAsset, description:String):FlxAtlasFrames

Parsing method for LibGDX atlases.

Parameters:

source

The image source (can be FlxGraphic, String or BitmapData).

description

Contents of the file with atlas description. You can get it with Assets.getText(path/to/description/file). Or you can just pass path to the description file in the assets directory.

Returns:

Newly created FlxAtlasFrames collection.

staticfromSparrow(source:FlxGraphicAsset, xml:FlxXmlAsset):FlxAtlasFrames

Parsing method for Sparrow texture atlases (they can be generated with Shoebox http://renderhjs.net/shoebox/ for example).

Parameters:

source

The image source (can be FlxGraphic, String or BitmapData).

xml

Contents of the XML file with atlas description. Can be a path to the XML asset, an XML string, or an Xml object.

Returns:

Newly created FlxAtlasFrames collection.

staticfromSpriteSheetPacker(Source:FlxGraphicAsset, Description:String):FlxAtlasFrames

Parsing method for Sprite Sheet Packer atlases (http://spritesheetpacker.codeplex.com/).

Parameters:

Source

The image source (can be FlxGraphic, String or BitmapData).

Description

Contents of the file with atlas description. You can get it with Assets.getText(path/to/description/file). Or you can just pass a path to the description file in the assets directory.

Returns:

Newly created FlxAtlasFrames collection.

@:value({ useFrameDuration : false })staticfromTexturePackerJson(source:FlxGraphicAsset, description:FlxTexturePackerJsonAsset, useFrameDuration:Bool = false):FlxAtlasFrames

Parsing method for TexturePacker atlases in JSON format.

Parameters:

source

The image source (can be FlxGraphic, String, or BitmapData).

description

Contents of JSON file with atlas description. You can get it with Assets.getText(path/to/description.json). Or you can just a pass path to the JSON file in the assets directory. You can also directly pass in the parsed object.

useFrameDuration

If true, any frame durations defined in the JSON will override the frameRate set in you FlxAnimationController. Note: You can also use fromAseprite which uses duration.

Returns:

Newly created FlxAtlasFrames collection.

staticfromTexturePackerXml(source:FlxGraphicAsset, xml:FlxXmlAsset):FlxAtlasFrames

Parsing method for TexturePacker atlases in generic XML format.

Parameters:

source

The image source (can be FlxGraphic, String or BitmapData).

xml

Contents of the XML file with atlas description. Can be a path to the XML asset, an XML string, or an Xml object.

Returns:

Newly created FlxAtlasFrames collection.

Constructor

new(parent:FlxGraphic, ?border:FlxPoint)

Methods

@:value({ overwriteHash : false })addAtlas(collection:FlxAtlasFrames, overwriteHash:Bool = false):FlxAtlasFrames

Adds all ofthe frames from the specified collection

Parameters:

collection

The frames to add. Note: calling destroy() on this collection after it has been added can cause crashes.

overwriteHash

If true, any new frames with matching names will replace old ones.

Available since

5.3.0

.

@:value({ overwriteHash : false })concat(collection:FlxAtlasFrames, overwriteHash:Bool = false):FlxAtlasFrames

Creates a new FlxAtlasFrames instance with all the frames from this and the desired instance.

Note: Calling destroy on either of these graphics after concatenating them may cause crashes

Parameters:

collection

The other frames to add.

overwriteHash

If true, any new frames with matching names will replace old ones.

Available since

5.3.0

.

Inherited Variables

Defined by FlxFramesCollection

read onlyborder:FlxPoint

How much space was trimmed around the original frames. Use addBorder() to add borders.

frames:Array<FlxFrame>

Array with all frames of this collection.

framesHash:Map<String, FlxFrame>

Deprecated: "`framesHash` is deprecated, use `getByName()` or `exists()`"

Hash of frames for this frame collection. Used only in FlxAtlasFrames and FlxBitmapFont (not implemented yet), but you can try to use it for other types of collections (give names to your frames).

read onlynumFrames:Int

Number of frames in this collection.

parent:FlxGraphic

Graphic object this frames belongs to.

read onlytype:FlxFrameCollectionType

Type of this frame collection. Used for faster type detection (less casting).

Inherited Methods

Defined by FlxFramesCollection

@:value({ duration : 0.0, flipY : false, flipX : false, angle : 0 })addAtlasFrame(frame:FlxRect, sourceSize:FlxPoint, offset:FlxPoint, ?name:String, angle:FlxFrameAngle = 0, flipX:Bool = false, flipY:Bool = false, duration:Float = 0.0):FlxFrame

Adds new frame to this frame collection. This method runs additional check, and can add rotated frames (from texture atlases).

Parameters:

frame

Region of image.

sourceSize

Original size of packed image (if image had been cropped, then original size will be bigger than frame size).

offset

How frame region is located on original frame image (offset from top left corner of original image).

name

Name for this frame (name of packed image file).

angle

Rotation of packed image (can be 0, 90 or -90).

flipX

If packed image should be horizontally flipped.

flipY

If packed image should be vertically flipped.

duration

The duration of this frame in seconds. If 0, the anim controller will decide the duration.

Returns:

Newly created and added frame object.

addEmptyFrame(size:FlxRect):FlxFrame

Adds empty frame into this frame collection. An empty frame is doing almost nothing for all the time.

Parameters:

size

Dimensions of the frame to add.

Returns:

Newly added empty frame.

addFrameOffset(name:String, offsetX:Float, offsetY:Float):Void

Adjusts the target frame's offset by the specified values. This mainly exists because certain atlas exporters don't give the correct offset. If no frame with the specified name exists, a warning is logged.

Parameters:

name

The name of the frame.

offsetX

The horizontal adjustment added to the frame's current offset.

offsetY

The vertical adjustment added to the frame's current offset.

Available since

5.3.0

.

@:value({ warnIfEmpty : true })addFramesOffsetByPrefix(prefix:String, offsetX:Float, offsetY:Float, warnIfEmpty:Bool = true):Void

Adjusts all frames with the specified name prefix by the specified offset. This mainly exists because certain atlas exporters don't give the correct offset.

Parameters:

prefix

The prefix used to determine which frames are affected.

offsetX

The horizontal adjustment added to the frame's current offset.

offsetY

The vertical adjustment added to the frame's current offset.

warnIfEmpty

Whether to log a warning if no frames with the prefix are found.

Available since

5.3.0

.

addSpriteSheetFrame(region:FlxRect):FlxFrame

Adds new regular (not rotated) FlxFrame to this frame collection.

Parameters:

region

Region of image which new frame will display.

Returns:

Newly created FlxFrame object for specified region of image.

inlineexists(name:String):Bool

Whether the collection has frame with the specified name.

Parameters:

name

The name of the frame to find.

Returns:

Whether the collection has frame with the specified name.

@:value({ warnIfEmpty : true })inlineforEachByPrefix(prefix:String, func:FlxFrame ‑> Void, warnIfEmpty:Bool = true, ?warningMsg:String):Void

Calls the given function on each frame whose name matches the specified prefix.

Note: This method is inlined so that optimizations are made when a literal anonymous functions or inlined functions are passed in, or when literal false is used for warnIfEmpty. Meaning, this is often more performant than getAllByPrefix.

Parameters:

prefix

The name prefix to look for.

Available since

5.3.0

.

getAllByPrefix(prefix:String):Array<FlxFrame>

Retrieves all frames with names starting with the specified prefix in an Array.

Parameters:

prefix

The name prefix to look for.

Available since

5.3.0

.

inlinegetByIndex(index:Int):FlxFrame

Finds frame in frames array by its index.

Parameters:

index

Index of the frame in the frames array.

Returns:

Frame with specified index in this frames collection (if there is one).

inlinegetByName(name:String):FlxFrame

Finds a frame in the collection by its name.

Parameters:

name

The name of the frame to find.

Returns:

Frame with specified name (if there is one).

inlinegetFrameIndex(frame:FlxFrame):Int

Finds the index of the specified frame in the frames array.

Parameters:

frame

Frame to find.

Returns:

Index of the specified frame.

getIndexByName(name:String):Int

Finds frame index by its name.

Parameters:

name

Name of the frame.

Returns:

Index of the frame with specified name.

@:value({ overwriteHash : false })pushFrame(frameObj:FlxFrame, overwriteHash:Bool = false):FlxFrame

Helper method for a adding frame to the collection.

Parameters:

frameObj

Frame to add.

overwriteHash

If true, any new frames with matching names will replace old ones.

Returns:

Added frame.

setFrameDuration(name:String, duration:Float):Void

Sets the target frame's offset to the specified values. This mainly exists because certain atlas exporters don't give the correct offset. If no frame with the specified name exists, a warning is logged.

Parameters:

name

The name of the frame.

duration

The new duration of the frame.

Available since

5.3.0

.

setFrameOffset(name:String, offsetX:Float, offsetY:Float):Void

Sets the target frame's offset to the specified values. This mainly exists because certain atlas exporters don't give the correct offset. If no frame with the specified name exists, a warning is logged.

Parameters:

name

The name of the frame.

offsetX

The new horizontal offset of the frame.

offsetY

The new vertical offset of the frame.

Available since

5.3.0

.

@:value({ warnIfEmpty : true })setFramesOffsetByPrefix(prefix:String, offsetX:Float, offsetY:Float, warnIfEmpty:Bool = true):Void

Sets all frames with the specified name prefix to the specified offset. This mainly exists because certain atlas exporters don't give the correct offset.

Parameters:

prefix

The prefix used to determine which frames are affected.

offsetX

The new horizontal offset of the frame.

offsetY

The new vertical offset of the frame.

warnIfEmpty

Whether to log a warning if no frames with the prefix are found.

Available since

5.3.0

.