class FlxFramesCollection
package flixel.graphics.frames
implements IFlxDestroyable
extended by FlxAtlasFrames, FlxBitmapFont, FlxFilterFrames, FlxImageFrame, FlxTileFrames
Base class for all frame collections.
Constructor
Variables
read onlyborder:FlxPoint
How much space was trimmed around the original frames.
Use addBorder()
to add borders.
framesHash:Map<String, FlxFrame>
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 onlytype:FlxFrameCollectionType
Type of this frame collection. Used for faster type detection (less casting).
Methods
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 |
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. |
5.3.0
.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. |
5.3.0
.addSpriteSheetFrame(region:FlxRect):FlxFrame
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.
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. |
---|
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. |
---|
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.
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. |
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. |
5.3.0
.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. |
5.3.0
.