Skip to content
ClassGame Objects & Sprites@public

FlxSprite

Renderer-neutral Flixel sprite state with adapter-owned Pixi views.

ts
export declare class FlxSprite extends FlxObject

Constructors

ts
constructor(x?: number, y?: number, simpleGraphic?: FlxGraphic | Texture | null)

Constructs a new instance of the FlxSprite class

ParameterTypeDescription
xnumber-
ynumber-
simpleGraphicFlxGraphic | Texture | null-

Properties

PropertyModifiersTypeDescription
alpha-number-
animationreadonlyFlxAnimationController-
animationFramereadonlynumber-
animationNamereadonlystring | null-
animationPausedreadonlyboolean-
antialiasing-boolean-
blend-BLEND_MODES | null-
color-number-
dirty-boolean-
facing-number-
filterArea-Readonly<RectangleLike> | nullOptional local render rectangle that skips automatic filter bounds measurement.
filters-readonly FlxFilter[]Immutable renderer-neutral effects applied in declaration order.
finished-boolean-
frame-number-
frameCollectionreadonlyFlxFramesCollection | null-
frameHeight-number-
frames-number-
frameWidth-number-
offset-FlxPoint-
origin-FlxPoint-
renderHandleCountreadonlynumberNumber of live adapter handles owned by this gameplay object.
scale-FlxPoint-

Methods

addAnimation()

ts
addAnimation(name: string, frames: readonly number[] | FlxAtlasFrameList, frameRateOrOptions?: number | FlxAtlasAnimationOptions, looped?: boolean): void

Register a named animation.

Strip form (legacy-compatible):

ts
sprite.addAnimation('walk', [0, 1, 2], 12, true);

Atlas frame form:

ts
sprite.addAnimation('walk', atlas.framesByPrefix('walk_', 1, 2), {
  frameWidth: 64,
  frameHeight: 128,
});

Atlas frames are baked into a shared strip internally (append-only).

Replaces any existing animation with the same name.

Parameters:

ParameterTypeDescription
namestring-
framesreadonly number[] | FlxAtlasFrameList-
frameRateOrOptionsnumber | FlxAtlasAnimationOptions-
loopedboolean-

Returns: void

addAnimationCallback()

ts
addAnimationCallback(callback: FlxAnimationCallback | null): void

Parameters:

ParameterTypeDescription
callbackFlxAnimationCallback | null-

Returns: void

centerOffsets()

ts
centerOffsets(adjustPosition?: boolean): void

Parameters:

ParameterTypeDescription
adjustPositionboolean-

Returns: void

clearFilterArea()

ts
clearFilterArea(): this

Restore automatic filter bounds measurement.

Returns: this

createRenderHandle()

ts
createRenderHandle(): FlxRenderHandle

Returns: FlxRenderHandle

destroy()

ts
destroy(): void

Returns: void

draw()

ts
draw(): void

Returns: void

drawFrame()

ts
drawFrame(force?: boolean): void

Parameters:

ParameterTypeDescription
forceboolean-

Returns: void

loadFrames()

ts
loadFrames(collection: FlxFramesCollection, reverse?: boolean): this

Loads named texture views without baking them into a new strip.

Parameters:

ParameterTypeDescription
collectionFlxFramesCollection-
reverseboolean-

Returns: this

loadGraphic()

ts
loadGraphic(source: FlxGraphic | Texture, animated?: boolean, reverse?: boolean, width?: number, height?: number, unique?: boolean): this

Parameters:

ParameterTypeDescription
sourceFlxGraphic | Texture-
animatedboolean-
reverseboolean-
widthnumber-
heightnumber-
uniqueboolean-

Returns: this

loadPixelBuffer()

ts
protected loadPixelBuffer(buffer: PixelBuffer, key?: string): this

Installs a generated CPU pixel buffer as this sprite's owned texture.

Parameters:

ParameterTypeDescription
bufferPixelBuffer-
keystring-

Returns: this

makeGraphic()

ts
makeGraphic(width: number, height: number, color?: number, unique?: boolean, key?: string | null): this

Parameters:

ParameterTypeDescription
widthnumber-
heightnumber-
colornumber-
uniqueboolean-
keystring | null-

Returns: this

onScreen()

ts
onScreen(camera?: FlxCameraLike): boolean

Parameters:

ParameterTypeDescription
cameraFlxCameraLike-

Returns: boolean

pauseAnimation()

ts
pauseAnimation(): void

Returns: void

play()

ts
play(name: string, forceOrOptions?: boolean | FlxAnimationPlayOptions): void

Play a named animation.

Legacy form: play(name) or play(name, force: boolean) — uses the looped / frameRate values stored when addAnimation was called.

Options form: play(name, { loop, speed, force }) - loop defaults to false - speed defaults to 1 (one anim frame per game update) - force defaults to false

Parameters:

ParameterTypeDescription
namestring-
forceOrOptionsboolean | FlxAnimationPlayOptions-

Returns: void

postUpdate()

ts
postUpdate(): void

Returns: void

randomFrame()

ts
randomFrame(): void

Returns: void

restartAnimation()

ts
restartAnimation(): void

Returns: void

resumeAnimation()

ts
resumeAnimation(): void

Returns: void

setFilterArea()

ts
setFilterArea(x: number, y: number, width: number, height: number): this

Define a local render rectangle for filter bounds optimization.

Parameters:

ParameterTypeDescription
xnumber-
ynumber-
widthnumber-
heightnumber-

Returns: this

setOriginToCorner()

ts
setOriginToCorner(): void

Returns: void

syncRenderHandles()

ts
syncRenderHandles(): void

Returns: void

trackRenderHandle()

ts
protected trackRenderHandle<T extends FlxRenderHandle>(create: (onDestroy: () => void) => T): T

Parameters:

ParameterTypeDescription
create(onDestroy: () => void) => T-

Returns: T

updateAnimation()

ts
protected updateAnimation(): void

Returns: void

Released under the MIT License.