Constructor

@:value({ direction : 0 })new(noteStyle:NoteStyle, direction:Int = 0)

Variables

direction:NoteDirection

The data of the note (i.e. the direction.)

handledMiss:Bool

This is true if the PlayState has performed the logic for missing this note. Subtracting score, subtracting health, etc.

@:value(false)hasBeenHit:Bool = false

Set this flag to true when hitting the note to avoid scoring it multiple times.

hasMissed:Bool

This is true if the note is later than 10 frames within the strumline, and thus can't be hit by the player. It will be destroyed after it moves offscreen. Managed by PlayState.

holdNoteSprite:SustainTrail

The hold note sprite for this note.

read onlyisHoldNote:Bool

Whether this note is a hold note. This is true if the length is greater than 0.

kind:Null<String>

An extra attribute for the note. For example, whether the note is an "alt" note, or whether it has custom behavior on hit.

length:Float

The length for which the note should be held, in milliseconds. Defaults to 0 for single notes.

@:value(false)lowPriority:Bool = false

Register this note as hit only after any other notes

mayHit:Bool

This is true if the note is within 10 frames of the strumline, and thus may be hit by the player. Managed by PlayState.

noteData:SongNoteData

The note data associated with this note sprite. This is used to store the strum time, length, and other properties.

params:Array<NoteParamData>

An array of custom parameters for this note

@:value(true)scoreable:Bool = true

If this note kind is scoreable (i.e., counted towards score and accuracy) Only accessible in scripts Defaults to true

strumTime:Float

The strum time at which the note should be hit, in milliseconds.

tooEarly:Bool

This is true if the note is earlier than 10 frames within the strumline. and thus can't be hit by the player. Managed by PlayState.

@:value(0.0)yOffset:Float = 0.0

The Y Offset of the note.

Methods

desaturate():Void

getParam(name:String):Null<Dynamic>

Retrieve the value of the param with the given name

Parameters:

name

Name of the param

Returns:

Null

setHue(hue:Float):Void

setupNoteGraphic(noteStyle:NoteStyle):Void

Creates frames and animations

Parameters:

noteStyle

The NoteStyle instance

Inherited Variables

Inherited Methods

Defined by FunkinSprite

clone():FunkinSprite

Ensure scale is applied when cloning a sprite.R The default clone() method acts kinda weird TBH.

Returns:

A clone of this sprite.

getCurrentAnimation():String

Gets the current animation ID.

getDefaultAtlasSettings():AtlasSpriteSettings

Gets the default settings for a texture atlas sprite.

Returns:

The default settings for a texture atlas sprite.

getDefaultSymbol():String

Returns the default symbol in the atlas.

getFirstElement(symbol:String):Null<Element>

Returns the first element of a symbol in the atlas.

Parameters:

symbol

The symbol to get elements from.

Returns:

The first element of the symbol. WARNING: Can be null.

getFrameLabel(name:String):Null<Frame>

Gets a frame label by its name.

Parameters:

name

The name of the frame label to retrieve.

Returns:

The frame label, or null if it doesn't exist.

getFrameLabelList():Array<String>

Gets a list of frame labels from the default timeline.

getFramesWithKeyword(keyword:String):Array<Frame>

Gets every frame on every symbol that starts with the given keyword.

Parameters:

keyword

The keyword to search for.

Returns:

An array of frames.

getSymbolElements(symbol:String):Array<Element>

Returns the elements of a symbol in the atlas.

Parameters:

symbol

The symbol to get elements from.

hasAnimation(id:String):Bool

Whether or not this sprite has an animation with the given ID.

Parameters:

id

The ID of the animation to check.

isAnimationDynamic(id:String):Bool

Parameters:

id

The animation ID to check.

Returns:

Whether the animation is dynamic (has multiple frames). false for static, one-frame animations.

isAnimationFinished():Bool

Whether or not the current animation is finished.

listAnimations():Array<String>

Returns:

A list of all the animations this sprite has available.

@:value({ cache : true })loadBitmapData(input:BitmapData, cache:Bool = true):FunkinSprite

Apply an OpenFL BitmapData to this sprite.

Parameters:

input

The OpenFL BitmapData to apply

Returns:

This sprite, for chaining

loadPacker(key:String):FunkinSprite

Load an animated texture (Packer atlas spritesheet) as the sprite's texture.

Parameters:

key

The key of the texture to load.

Returns:

This sprite, for chaining.

loadSparrow(key:String):FunkinSprite

Load an animated texture (Sparrow atlas spritesheet) as the sprite's texture.

Parameters:

key

The key of the texture to load.

Returns:

This sprite, for chaining.

loadTexture(key:String):FunkinSprite

Load a static image as the sprite's texture.

Parameters:

key

The key of the texture to load.

Returns:

This sprite, for chaining.

@:value({ fade : false })loadTextureAsync(key:String, fade:Bool = false):Void

loadTextureAtlas(key:Null<String>, ?assetLibrary:String, ?settings:Null<AtlasSpriteSettings>):FunkinSprite

Loads an Adobe Animate texture atlas as the sprite's texture.

Parameters:

key

The key of the texture to load.

settings

Additional settings for loading the atlas.

Returns:

This sprite, for chaining.

loadTextureBase(input:TextureBase):Null<FunkinSprite>

Apply an OpenFL TextureBase to this sprite.

Parameters:

input

The OpenFL TextureBase to apply

Returns:

This sprite, for chaining

@:value({ color : FlxColor.WHITE })makeSolidColor(width:Int, height:Int, color:FlxColor = FlxColor.WHITE):FunkinSprite

Acts similarly to makeGraphic, but with improved memory usage, at the expense of not being able to paint onto the resulting sprite.

Parameters:

width

The target width of the sprite.

height

The target height of the sprite.

color

The color to fill the sprite with.

Returns:

This sprite, for chaining.

@:value({ adjustScale : true })replaceSymbolGraphic(symbol:String, ?graphic:FlxGraphicAsset, adjustScale:Bool = true):Void

Replaces the graphic of a symbol in the atlas.

Parameters:

symbol

The symbol to replace.

graphic

The new graphic to use.

adjustScale

Whether to adjust the scale of new frame to match the old one.

@:value({ scaleEverything : false, positionOffset : 0 })scaleElement(element:Element, scale:Float, positionOffset:Float = 0, scaleEverything:Bool = false):Void

Scales an element by a certain multiplier.

Parameters:

element

The element to scale.

scale

The scale multiplier.

positionOffset

The offset to apply to tx and ty after scaling. (Or in other words, the position of the element.)