1
0
Fork 0
mirror of https://github.com/ninjamuffin99/Funkin.git synced 2025-04-22 13:44:28 +00:00
Funkin/source/ColorpickSubstate.hx

75 lines
1.6 KiB
Haxe
Raw Normal View History

2021-03-21 18:45:46 +00:00
package;
import flixel.FlxG;
2021-03-23 22:43:08 +00:00
import flixel.addons.effects.chainable.FlxEffectSprite;
import flixel.addons.effects.chainable.FlxOutlineEffect;
2021-03-21 18:45:46 +00:00
import flixel.group.FlxGroup.FlxTypedGroup;
2021-03-23 22:43:08 +00:00
import flixel.util.FlxColor;
2021-03-21 18:45:46 +00:00
import shaderslmfao.ColorSwap;
class ColorpickSubstate extends MusicBeatSubstate
{
var curSelected:Int = 0;
var grpNotes:FlxTypedGroup<Note>;
public function new()
{
super();
grpNotes = new FlxTypedGroup<Note>();
add(grpNotes);
for (i in 0...4)
{
var note:Note = new Note(0, i);
note.x = (100 * i) + i;
note.screenCenter(Y);
2021-03-23 22:43:08 +00:00
var _effectSpr:FlxEffectSprite = new FlxEffectSprite(note, [new FlxOutlineEffect(FlxOutlineMode.FAST, FlxColor.WHITE, 4, 1)]);
add(_effectSpr);
_effectSpr.y = 0;
_effectSpr.x = i * 80;
_effectSpr.antialiasing = true;
_effectSpr.setGraphicSize(Std.int(_effectSpr.width * 0.7));
_effectSpr.updateHitbox();
2021-03-21 18:45:46 +00:00
grpNotes.add(note);
}
}
override function update(elapsed:Float)
{
if (controls.BACK)
{
FlxG.state.closeSubState();
FlxG.state.openSubState(new OptionsSubState());
}
2021-03-21 18:45:46 +00:00
if (controls.RIGHT_P)
curSelected += 1;
if (controls.LEFT_P)
curSelected -= 1;
if (curSelected < 0)
curSelected = grpNotes.members.length - 1;
if (curSelected >= grpNotes.members.length)
curSelected = 0;
if (controls.UP)
{
grpNotes.members[curSelected].colorSwap.update(elapsed * 0.3);
Note.arrowColors[curSelected] += elapsed * 0.3;
}
if (controls.DOWN)
{
grpNotes.members[curSelected].colorSwap.update(-elapsed * 0.3);
Note.arrowColors[curSelected] += -elapsed * 0.3;
}
super.update(elapsed);
}
}