mirror of
https://github.com/FunkinCrew/Funkin.git
synced 2024-11-27 01:55:52 -05:00
77 lines
2.2 KiB
Haxe
77 lines
2.2 KiB
Haxe
package;
|
|
|
|
import flixel.FlxG;
|
|
import flixel.FlxSprite;
|
|
import flixel.graphics.frames.FlxAtlasFrames;
|
|
import flixel.util.FlxTimer;
|
|
|
|
using StringTools;
|
|
|
|
class Boyfriend extends Character
|
|
{
|
|
public var stunned:Bool = false;
|
|
|
|
public function new(x:Float, y:Float)
|
|
{
|
|
super(x, y);
|
|
|
|
var tex = FlxAtlasFrames.fromSparrow(AssetPaths.BOYFRIEND__png, AssetPaths.BOYFRIEND__xml);
|
|
frames = tex;
|
|
animation.addByPrefix('idle', 'BF idle dance', 24, false);
|
|
animation.addByPrefix('singUP', 'BF NOTE UP0', 24, false);
|
|
animation.addByPrefix('singLEFT', 'BF NOTE LEFT0', 24, false);
|
|
animation.addByPrefix('singRIGHT', 'BF NOTE RIGHT0', 24, false);
|
|
animation.addByPrefix('singDOWN', 'BF NOTE DOWN0', 24, false);
|
|
animation.addByPrefix('singUPmiss', 'BF NOTE UP MISS', 24, false);
|
|
animation.addByPrefix('singLEFTmiss', 'BF NOTE LEFT MISS', 24, false);
|
|
animation.addByPrefix('singRIGHTmiss', 'BF NOTE RIGHT MISS', 24, false);
|
|
animation.addByPrefix('singDOWNmiss', 'BF NOTE DOWN MISS', 24, false);
|
|
animation.addByPrefix('hey', 'BF HEY', 24, false);
|
|
|
|
animation.addByPrefix('firstDeath', "BF dies", 24, false);
|
|
animation.addByPrefix('deathLoop', "BF Dead Loop", 24, true);
|
|
animation.addByPrefix('deathConfirm', "BF Dead confirm", 24, false);
|
|
|
|
animation.addByPrefix('scared', 'BF idle shaking', 24);
|
|
playAnim('idle');
|
|
|
|
antialiasing = true;
|
|
|
|
addOffset('idle', -5);
|
|
addOffset("singUP", -29, 27);
|
|
addOffset("singRIGHT", -38, -7);
|
|
addOffset("singLEFT", 12, -6);
|
|
addOffset("singDOWN", -10, -50);
|
|
addOffset("singUPmiss", -29, 27);
|
|
addOffset("singRIGHTmiss", -30, 21);
|
|
addOffset("singLEFTmiss", 12, 24);
|
|
addOffset("singDOWNmiss", -11, -19);
|
|
addOffset("hey", 7, 4);
|
|
addOffset('firstDeath', 37, 11);
|
|
addOffset('deathLoop', 37, 5);
|
|
addOffset('deathConfirm', 37, 69);
|
|
addOffset('scared', -4);
|
|
}
|
|
|
|
override function update(elapsed:Float)
|
|
{
|
|
if (animation.curAnim.name.startsWith('sing'))
|
|
{
|
|
holdTimer += elapsed;
|
|
}
|
|
else
|
|
holdTimer = 0;
|
|
|
|
if (animation.curAnim.name.endsWith('miss') && animation.curAnim.finished && !debugMode)
|
|
{
|
|
playAnim('idle', true, false, 10);
|
|
}
|
|
|
|
if (animation.curAnim.name == 'firstDeath' && animation.curAnim.finished)
|
|
{
|
|
playAnim('deathLoop');
|
|
}
|
|
|
|
super.update(elapsed);
|
|
}
|
|
}
|