mirror of
https://github.com/FunkinCrew/Funkin.git
synced 2024-11-30 03:25:47 -05:00
75 lines
1.5 KiB
Haxe
75 lines
1.5 KiB
Haxe
|
package;
|
||
|
|
||
|
import flixel.FlxG;
|
||
|
import flixel.FlxSprite;
|
||
|
import flixel.FlxState;
|
||
|
import flixel.group.FlxGroup.FlxTypedGroup;
|
||
|
import flixel.text.FlxText;
|
||
|
|
||
|
class LatencyState extends FlxState
|
||
|
{
|
||
|
var offsetText:FlxText;
|
||
|
var noteGrp:FlxTypedGroup<Note>;
|
||
|
var strumLine:FlxSprite;
|
||
|
|
||
|
override function create()
|
||
|
{
|
||
|
FlxG.sound.playMusic('assets/sounds/soundTest' + TitleState.soundExt);
|
||
|
|
||
|
noteGrp = new FlxTypedGroup<Note>();
|
||
|
add(noteGrp);
|
||
|
|
||
|
for (i in 0...32)
|
||
|
{
|
||
|
var note:Note = new Note(Conductor.crochet * i, 1);
|
||
|
noteGrp.add(note);
|
||
|
}
|
||
|
|
||
|
offsetText = new FlxText();
|
||
|
offsetText.screenCenter();
|
||
|
add(offsetText);
|
||
|
|
||
|
strumLine = new FlxSprite(FlxG.width / 2, 100).makeGraphic(FlxG.width, 5);
|
||
|
add(strumLine);
|
||
|
|
||
|
Conductor.changeBPM(120);
|
||
|
|
||
|
super.create();
|
||
|
}
|
||
|
|
||
|
override function update(elapsed:Float)
|
||
|
{
|
||
|
offsetText.text = "Offset: " + Conductor.offset + "ms";
|
||
|
|
||
|
Conductor.songPosition = FlxG.sound.music.time - Conductor.offset;
|
||
|
|
||
|
var multiply:Float = 1;
|
||
|
|
||
|
if (FlxG.keys.pressed.SHIFT)
|
||
|
multiply = 10;
|
||
|
|
||
|
if (FlxG.keys.justPressed.RIGHT)
|
||
|
Conductor.offset += 1 * multiply;
|
||
|
if (FlxG.keys.justPressed.LEFT)
|
||
|
Conductor.offset -= 1 * multiply;
|
||
|
|
||
|
if (FlxG.keys.justPressed.SPACE)
|
||
|
{
|
||
|
FlxG.sound.music.stop();
|
||
|
|
||
|
FlxG.resetState();
|
||
|
}
|
||
|
|
||
|
noteGrp.forEach(function(daNote:Note)
|
||
|
{
|
||
|
daNote.y = (strumLine.y - (Conductor.songPosition - daNote.strumTime) * 0.45);
|
||
|
daNote.x = strumLine.x + 30;
|
||
|
|
||
|
if (daNote.y < strumLine.y)
|
||
|
daNote.kill();
|
||
|
});
|
||
|
|
||
|
super.update(elapsed);
|
||
|
}
|
||
|
}
|