Funkin/source/BGSprite.hx
2021-08-28 12:41:15 -04:00

64 lines
1.3 KiB
Haxe

package;
import flixel.FlxSprite;
class BGSprite extends FlxSprite
{
/**
Cool lil utility thing just so that it can easy do antialiasing and scrollfactor bullshit
*/
public var idleAnim:String;
/**
* NOTE: loadOldWay param is just for current backward compatibility! Will be moved later!
*/
public function new(image:String, x:Float = 0, y:Float = 0, parX:Float = 1, parY:Float = 1, ?daAnimations:Array<String>, ?loopingAnim:Bool = false,
?loadOldWay:Bool = true)
{
super(x, y);
if (loadOldWay)
{
if (daAnimations != null)
{
setupSparrow(image, daAnimations, loopingAnim);
}
else
{
justLoadImage(image);
}
}
scrollFactor.set(parX, parY);
antialiasing = true;
}
public function setupSparrow(image:String, daAnimations:Array<String>, ?loopingAnim:Bool = false)
{
frames = Paths.getSparrowAtlas(image);
for (anims in daAnimations)
{
var daLoop:Bool = loopingAnim;
if (loopingAnim == null)
daLoop = false;
animation.addByPrefix(anims, anims, 24, daLoop);
animation.play(anims);
if (idleAnim == null)
idleAnim = anims;
}
}
public function justLoadImage(image:String)
{
loadGraphic(Paths.image(image));
active = false;
}
public function dance():Void
{
if (idleAnim != null)
animation.play(idleAnim);
}
}