timed arrow spawning

This commit is contained in:
2022-01-28 14:02:49 -07:00
parent 8ded66c2d7
commit 049088c2a2
2 changed files with 11 additions and 0 deletions

View File

@@ -4,6 +4,7 @@ import flixel.FlxG;
import flixel.FlxState; import flixel.FlxState;
import flixel.FlxSprite; import flixel.FlxSprite;
import flixel.util.FlxColor; import flixel.util.FlxColor;
import flixel.util.FlxTimer;
import flixel.group.FlxGroup; import flixel.group.FlxGroup;
import flixel.input.gamepad.FlxGamepad; import flixel.input.gamepad.FlxGamepad;
import flixel.text.FlxText; import flixel.text.FlxText;

View File

@@ -46,6 +46,14 @@
// Handle an arrow press // Handle an arrow press
{ {
(set instructionText.text "") (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) (whenLet [(Some id) (getFirstInputId)
dir (dictGet inputCodes id)] dir (dictGet inputCodes id)]
(let [&mut :ActionSprite lowestMatching null (let [&mut :ActionSprite lowestMatching null
@@ -73,6 +81,8 @@
(prop :FlxTypedGroup<ActionSprite> actionSprites (new FlxTypedGroup)) (prop :FlxTypedGroup<ActionSprite> actionSprites (new FlxTypedGroup))
(prop &mut :DocumentModel _model null) (prop &mut :DocumentModel _model null)
(prop &mut :FlxTimer timer null)
(var ARROW_DELAY 0.25)
(method setModel [:DocumentModel m] (method setModel [:DocumentModel m]
(set _model m) (set _model m)
(doFor i (range 100) (doFor i (range 100)