diff --git a/projects/handloose/source/TypingState.hx b/projects/handloose/source/TypingState.hx index 29a4fe18..7f01c30e 100644 --- a/projects/handloose/source/TypingState.hx +++ b/projects/handloose/source/TypingState.hx @@ -4,6 +4,7 @@ import flixel.FlxG; import flixel.FlxState; import flixel.FlxSprite; import flixel.util.FlxColor; +import flixel.util.FlxTimer; import flixel.group.FlxGroup; import flixel.input.gamepad.FlxGamepad; import flixel.text.FlxText; diff --git a/projects/handloose/source/TypingState.kiss b/projects/handloose/source/TypingState.kiss index 50bbba37..f24e36d8 100644 --- a/projects/handloose/source/TypingState.kiss +++ b/projects/handloose/source/TypingState.kiss @@ -46,6 +46,14 @@ // Handle an arrow press { (set instructionText.text "") + (unless timer + (set timer (new FlxTimer)) + (let [&mut i 0] + (timer.start ARROW_DELAY ->_ { + #|{ + var stuff = _model.generateArrowStuff(); + makeTriangleSprite(DIR_ORDER[i++ % DIR_ORDER.length], stuff.text, -SPRITE_SIZE, stuff.action); + }|# } 0))) (whenLet [(Some id) (getFirstInputId) dir (dictGet inputCodes id)] (let [&mut :ActionSprite lowestMatching null @@ -73,6 +81,8 @@ (prop :FlxTypedGroup actionSprites (new FlxTypedGroup)) (prop &mut :DocumentModel _model null) +(prop &mut :FlxTimer timer null) +(var ARROW_DELAY 0.25) (method setModel [:DocumentModel m] (set _model m) (doFor i (range 100)