Holds information and bitmap characters for a bitmap font.

Static variables

@:value(" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~")staticinlineread onlyDEFAULT_CHARS:String = " !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~"

Default letters for XNA font.

Static methods

staticfindFont(frame:FlxFrame, ?border:FlxPoint):FlxBitmapFont

staticfromAngelCode(source:FlxBitmapFontGraphicAsset, data:FlxAngelCodeAsset):FlxBitmapFont

Loads font data in AngelCode's format.

Parameters:

source

Font image source.

data

Font data.

Returns:

Generated bitmap font object.

staticfromMonospace(source:FlxBitmapFontGraphicAsset, ?letters:UnicodeString, charSize:FlxPoint, ?region:FlxRect, ?spacing:FlxPoint):FlxBitmapFont

Loads a monospaced bitmap font.

Parameters:

source

Source image for this font. Use white pixels if you intend to change the color.

letters

The characters used in the font set, in display order. You can use the TEXT_SET constants for common font set arrangements.

charSize

The size of each character in the font set.

region

The region of image to use for the font. Default is null which means that the whole image will be used.

spacing

Spaces between characters in the font set. Default is null which means no spaces.

Returns:

Generated bitmap font object.

@:value({ charBGColor : FlxColor.TRANSPARENT })staticfromXNA(source:FlxBitmapFontGraphicAsset, ?letters:UnicodeString, charBGColor:Int = FlxColor.TRANSPARENT):FlxBitmapFont

Load bitmap font in XNA/Pixelizer format. May work incorrectly on HTML5. Utterly unreliable on Brave Browser with shields up.

Parameters:

source

Source image for this font.

letters

String of characters contained in the source image, in order (ex. " abcdefghijklmnopqrstuvwxyz"). Defaults to DEFAULT_CHARS.

charBGColor

An additional background color to remove. Defaults to FlxColor.TRANSPARENT.

Returns:

Generated bitmap font object.

staticgetDefaultFont():FlxBitmapFont

Retrieves the default FlxBitmapFont. May work incorrectly on HTML5. Utterly unreliable on Brave Browser with shields up.

Variables

@:value(false)bold:Bool = false

@:value(false)italic:Bool = false

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

@:value(0)minOffsetX:Int = 0

Minimum x offset in this font. This is a helper variable for rendering purposes.

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

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

The size of the font. Can be useful for AngelCode fonts.

@:value(0)spaceWidth:Int = 0

The width of space character.

Methods

addKerningPair(prevCode:Int, nextCode:Int, amount:Int):Void

inlinecharExists(charCode:Int):Bool

inlinegetCharAdvance(charCode:Int):Int

inlinegetCharFrame(charCode:Int):FlxFrame

inlinegetCharWidth(charCode:Int):Float

getKerning(prevCode:Int, nextCode:Int):Int

setCharFrame(charCode:Int, frame:FlxRect, xAdvance:Int, ?offset:FlxPoint):Void

Sets the frame for the specified char

Parameters:

charCode

The char code

frame

The desired frame of the char

xAdvance

How far right the next character should be

offset

An optional frame offset from top left corner

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

.