Frames collection which you can apply bitmap filters to. WARNING: this frame collection doesn't use caching, so be careful or you will "leak" out memory very fast. You should destroy frames collections of this type manually.

Static methods

@:value({ heightInc : 0, widthInc : 0 })staticinlinefromFrames(frames:FlxFramesCollection, widthInc:Int = 0, heightInc:Int = 0, ?filters:Array<BitmapFilter>):FlxFilterFrames

Generates new frames collection from specified frames.

Parameters:

frames

Frames collection to generate filters for.

widthInc

How much frames should expand horizontally.

heightInc

How much frames should expend vertically.

filters

Optional filters array to apply.

Returns:

New frames collection which you can apply filters to.

Variables

filters:Array<BitmapFilter>

Filters applied to these frames

@:value(0)read onlyheightInc:Int = 0

How much frames should expand vertically

read onlysourceFrames:FlxFramesCollection

Original frames collection

@:value(0)read onlywidthInc:Int = 0

How much frames should expand horizontally

Methods

inlineaddFilter(filter:BitmapFilter):Void

Adds a filter to this frames collection.

Parameters:

filter

The filter to be added.

@:value({ updateFrames : false, saveAnimations : false })applyToSprite(spr:FlxSprite, saveAnimations:Bool = false, updateFrames:Bool = false):Void

Just helper method which "centers" sprite offsets

Parameters:

spr

Sprite to apply this frame collection.

saveAnimations

Whether to save sprite's animations or not.

updateFrames

Whether to regenerate frame BitmapDatas or not.

clearFilters():Void

Removes all filters from the frames.

removeFilter(filter:BitmapFilter):Void

Removes a filter from this frames collection.

Parameters:

filter

The filter to be removed.

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.

addBorder(border:FlxPoint):FlxFramesCollection

Generates new frames collection from this collection but trims frames by specified borders.

Parameters:

border

How much space trim around the frames.

Returns:

Generated frames collection.

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

.