From ae50142583da97c4b815bdcbb4acf2b823281f81 Mon Sep 17 00:00:00 2001 From: Cameron Taylor Date: Sat, 31 Oct 2020 20:22:49 -0700 Subject: [PATCH] easy charts --- Project.xml | 2 +- source/Alphabet.hx | 12 ++++++++ source/FreeplayState.hx | 60 ++++++++++++++++++++++++++++++---------- source/PlayState.hx | 2 +- source/StoryMenuState.hx | 7 +++-- 5 files changed, 64 insertions(+), 19 deletions(-) diff --git a/Project.xml b/Project.xml index b40d81b5c..4536d8c09 100644 --- a/Project.xml +++ b/Project.xml @@ -94,5 +94,5 @@ - + diff --git a/source/Alphabet.hx b/source/Alphabet.hx index 4e04631ef..9824e2f35 100644 --- a/source/Alphabet.hx +++ b/source/Alphabet.hx @@ -17,6 +17,10 @@ class Alphabet extends FlxSpriteGroup public var delay:Float = 0.05; public var paused:Bool = false; + // for menu shit + public var targetY:Float = 0; + public var isMenuItem:Bool = false; + public var text:String = ""; var _finalText:String = ""; @@ -207,6 +211,14 @@ class Alphabet extends FlxSpriteGroup override function update(elapsed:Float) { + if (isMenuItem) + { + var scaledY = FlxMath.remapToRange(targetY, 0, 1, 0, 1.3); + + y = FlxMath.lerp(y, (scaledY * 120) + (FlxG.height * 0.48), 0.16); + x = FlxMath.lerp(x, (targetY * 20) + 90, 0.16); + } + super.update(elapsed); } } diff --git a/source/FreeplayState.hx b/source/FreeplayState.hx index a75ee3d3d..a98c1d8a5 100644 --- a/source/FreeplayState.hx +++ b/source/FreeplayState.hx @@ -3,6 +3,7 @@ package; import flixel.FlxG; import flixel.FlxSprite; import flixel.addons.display.FlxGridOverlay; +import flixel.group.FlxGroup.FlxTypedGroup; import flixel.text.FlxText; class FreeplayState extends MusicBeatState @@ -12,31 +13,40 @@ class FreeplayState extends MusicBeatState var selector:FlxText; var curSelected:Int = 0; + private var grpSongs:FlxTypedGroup; + override function create() { // LOAD MUSIC // LOAD CHARACTERS - var bg:FlxSprite = FlxGridOverlay.create(20, 20); + var bg:FlxSprite = new FlxSprite().loadGraphic(AssetPaths.menuBGBlue__png); add(bg); + grpSongs = new FlxTypedGroup(); + add(grpSongs); + for (i in 0...songs.length) { var songText:Alphabet = new Alphabet(0, (70 * i) + 30, songs[i], true, false); - add(songText); - songText.x += 40; + songText.isMenuItem = true; + songText.targetY = i; + grpSongs.add(songText); + // songText.x += 40; // DONT PUT X IN THE FIRST PARAMETER OF new ALPHABET() !! // songText.screenCenter(X); } - FlxG.sound.playMusic('assets/music/title' + TitleState.soundExt, 0); - FlxG.sound.music.fadeIn(2, 0, 0.8); + changeSelection(); + + // FlxG.sound.playMusic('assets/music/title' + TitleState.soundExt, 0); + // FlxG.sound.music.fadeIn(2, 0, 0.8); selector = new FlxText(); selector.size = 40; selector.text = ">"; - add(selector); + // add(selector); var swag:Alphabet = new Alphabet(1, 0, "swag"); @@ -52,26 +62,48 @@ class FreeplayState extends MusicBeatState if (upP) { - curSelected -= 1; + changeSelection(-1); } if (downP) { - curSelected += 1; + changeSelection(1); } + if (accepted) + { + PlayState.SONG = Song.loadFromJson(songs[curSelected].toLowerCase(), songs[curSelected].toLowerCase()); + PlayState.isStoryMode = false; + FlxG.switchState(new PlayState()); + FlxG.sound.music.stop(); + } + } + + function changeSelection(change:Int = 0) + { + curSelected += change; + if (curSelected < 0) curSelected = songs.length - 1; if (curSelected >= songs.length) curSelected = 0; - selector.y = (70 * curSelected) + 30; + // selector.y = (70 * curSelected) + 30; - if (accepted) + var bullShit:Int = 0; + + for (item in grpSongs.members) { - PlayState.SONG = Song.loadFromJson(songs[curSelected].toLowerCase()); - PlayState.isStoryMode = false; - FlxG.switchState(new PlayState()); - FlxG.sound.music.stop(); + item.targetY = bullShit - curSelected; + bullShit++; + + item.alpha = 0.6; + // item.setGraphicSize(Std.int(item.width * 0.8)); + + if (item.targetY == 0) + { + item.alpha = 1; + // item.setGraphicSize(Std.int(item.width)); + } } } } diff --git a/source/PlayState.hx b/source/PlayState.hx index 29aeb7335..4e01c2fbb 100644 --- a/source/PlayState.hx +++ b/source/PlayState.hx @@ -1283,7 +1283,7 @@ class PlayState extends MusicBeatState if (!boyfriend.animation.curAnim.name.startsWith("sing")) boyfriend.playAnim('idle'); - if (totalBeats % 8 == 6) + if (totalBeats % 8 == 7 && curSong == 'Bopeebo') { boyfriend.playAnim('hey', true); diff --git a/source/StoryMenuState.hx b/source/StoryMenuState.hx index 093746479..5554fbe13 100644 --- a/source/StoryMenuState.hx +++ b/source/StoryMenuState.hx @@ -16,10 +16,10 @@ class StoryMenuState extends MusicBeatState { var scoreText:FlxText; - var weekData:Array = [['Tutorial', 'Bopeebo', 'Fresh', 'Dadbattle'], ['Spookeez', 'South', 'Monster']]; + var weekData:Array = [['Tutorial', 'Bopeebo', 'Fresh', 'Dadbattle'], ['Spookeez', 'South']]; var curDifficulty:Int = 1; - public static var weekUnlocked:Array = [true, false]; + public static var weekUnlocked:Array = [true, true]; var weekCharacters:Array = [['dad', 'bf', 'gf'], ['spooky', 'bf', 'gf']]; var curWeek:Int = 0; @@ -243,7 +243,8 @@ class StoryMenuState extends MusicBeatState PlayState.SONG = Song.loadFromJson(PlayState.storyPlaylist[0].toLowerCase() + diffic, PlayState.storyPlaylist[0].toLowerCase()); new FlxTimer().start(1, function(tmr:FlxTimer) { - FlxG.sound.music.stop(); + if (FlxG.sound.music != null) + FlxG.sound.music.stop(); FlxG.switchState(new PlayState()); }); }