Skip to main content

Sprites

Functions

clearSprite

clearSprite(sprite, ...layerIDs): void

Helper function to clear all layers or specific layers from a sprite without unloading the attached anm2 file.

This function is variadic, which means you can pass as many layer IDs as you want to clear. If no specific layers are passed, the function will clear every layer.

If you want to clear all of the layers of a sprite and don't care about unloading the attached anm2 file, then use the Sprite.Reset method instead.

Since there is no official API method to clear specific layers from a sprite, we work around it by setting the spritesheet to a transparent PNG file corresponding to the EMPTY_PNG_PATH constant.

This function will still work identically if PNG file does not exist, but it will cause a spurious error to appear in the "log.txt" file. If silencing these errors is desired, you can create a transparent 1 pixel PNG file in your mod's resources folder at EMPTY_PNG_PATH.

Parameters

NameType
spriteSprite
...layerIDsreadonly int[]

Returns

void

Allow Empty Variadic

Defined in

packages/isaacscript-common/src/functions/sprites.ts:26


getLastFrameOfAnimation

getLastFrameOfAnimation(sprite, animation?): int

Helper function that returns the number of the final frame in a particular animation for a sprite. By default, it will use the currently playing animation, but you can also specify a specific animation to check.

Note that this function is bugged with the Stop Watch or the Broken Watch, since using the Sprite.SetFrame method will reset the internal accumulator used to slow down the playback speed of the animation. (The PlaybackSpeed field of the sprite is not used.) Thus, it is only safe to use this function on animations that are not slowed down by Stop Watch or Broken Watch, such as player animations.

Parameters

NameType
spriteSprite
animation?string

Returns

int

Defined in

packages/isaacscript-common/src/functions/sprites.ts:50


newSprite

newSprite(anm2Path, pngPath?): Sprite

Helper function to load a new sprite and play its default animation.

Parameters

NameTypeDescription
anm2PathstringThe path to the "anm2" file that should be loaded.
pngPath?stringOptional. The path to a custom PNG file that should be loaded on layer 0 of the sprite.

Returns

Sprite

Defined in

packages/isaacscript-common/src/functions/sprites.ts:81


setSpriteOpacity

setSpriteOpacity(sprite, alpha): void

Helper function to keep a sprite's color the same values as it already is but set the opacity to a specific value.

Parameters

NameTypeDescription
spriteSpriteThe sprite to set.
alphafloatA value between 0 and 1 that represents the fade amount.

Returns

void

Defined in

packages/isaacscript-common/src/functions/sprites.ts:105


spriteEquals

spriteEquals(sprite1, sprite2, layerID, xStart, xFinish, xIncrement, yStart, yFinish, yIncrement): boolean

Helper function to check if two sprite layers have the same sprite sheet by using the Sprite.GetTexel method.

Since checking every single texel in the entire sprite is very expensive, this function requires that you provide a range of specific texels to check.

Parameters

NameType
sprite1Sprite
sprite2Sprite
layerIDint
xStartint
xFinishint
xIncrementint
yStartint
yFinishint
yIncrementint

Returns

boolean

Defined in

packages/isaacscript-common/src/functions/sprites.ts:118


texelEquals

texelEquals(sprite1, sprite2, position, layerID): boolean

Helper function to check if two texels on a sprite are equivalent to each other.

Parameters

NameType
sprite1Sprite
sprite2Sprite
positionVector
layerIDint

Returns

boolean

Defined in

packages/isaacscript-common/src/functions/sprites.ts:144