Skip to content

Commit acb506c

Browse files
authored
intro stuff and main menu wip
1 parent 4ab8ab2 commit acb506c

4 files changed

Lines changed: 84 additions & 5 deletions

File tree

source/rhythmo/play/Gameplay.hx

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,16 @@
11
package rhythmo.play;
22

3-
import flixel.text.FlxText;
43
import rhythmo.ui.BaseState;
54

65
class Gameplay extends BaseState
76
{
87
override public function create():Void
98
{
10-
super.create();
11-
129
var text:FlxText = new FlxText(0, 0, 0, "Hello World", 64);
1310
text.screenCenter();
1411
add(text);
12+
13+
super.create();
1514
}
1615

1716
override public function update(elapsed:Float):Void

source/rhythmo/ui/intro/Splash.hx

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
package rhythmo.ui.intro;
2+
3+
import rhythmo.Paths;
4+
import rhythmo.ui.BaseState;
5+
import rhythmo.ui.menu.MainMenu;
6+
import flixel.util.FlxGradient;
7+
import flixel.tweens.FlxTween;
8+
import flixel.tweens.FlxEase;
9+
10+
class Splash extends BaseState
11+
{
12+
var gradientBar:FlxSprite = new FlxSprite(0, 0).makeGraphic(FlxG.width, 1, 0xFFAA00AA);
13+
var timer:Float = 0;
14+
15+
override public function create():Void
16+
{
17+
gradientBar = FlxGradient.createGradientFlxSprite(Math.round(FlxG.width), 512, [0x003500ff, 0x55a800ff, 0xAAe200ff], 1, 90, true);
18+
gradientBar.y = FlxG.height - gradientBar.height;
19+
gradientBar.scale.y = 0;
20+
add(gradientBar);
21+
FlxTween.tween(gradientBar, {'scale.y': 1.3}, 4, {ease: FlxEase.quadInOut});
22+
23+
var text:FlxText = new FlxText(0, 0, FlxG.width, 'Created by Joalor64\nMade with HaxeFlixel');
24+
text.setFormat(Paths.font('vcr.ttf'), 30, FlxColor.WHITE, CENTER);
25+
text.screenCenter();
26+
add(text);
27+
28+
new FlxTimer().start(3, (tmr:FlxTimer) -> transitionState(new MainMenu()));
29+
30+
super.create();
31+
}
32+
33+
override public function update(elapsed:Float):Void
34+
{
35+
var timer:Float = 0;
36+
37+
timer++;
38+
39+
gradientBar.scale.y += Math.sin(timer / 10) * 0.001;
40+
gradientBar.updateHitbox();
41+
gradientBar.y = FlxG.height - gradientBar.height;
42+
43+
super.update(elapsed);
44+
}
45+
}

source/rhythmo/ui/intro/Startup.hx

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@ package rhythmo.ui.intro;
33
import rhythmo.Data;
44
import rhythmo.input.Input;
55
import rhythmo.ui.BaseState;
6+
import rhythmo.ui.intro.Splash;
7+
import rhythmo.ui.menu.MainMenu;
8+
import rhythmo.util.PlatformUtil;
69
import rhythmo.modding.PolymodHandler;
710

811
class Startup extends BaseState
@@ -16,7 +19,9 @@ class Startup extends BaseState
1619
Data.init();
1720
Input.refreshControls();
1821
PolymodHandler.init();
22+
23+
trace('Current platform: ${PlatformUtil.getPlatform()}');
1924

20-
transitionState(new rhythmo.play.Gameplay());
25+
transitionState((Data.settings.skipSplash) ? new Splash() : new MainMenu());
2126
}
22-
}
27+
}

source/rhythmo/ui/menu/MainMenu.hx

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
package rhythmo.ui.menu;
2+
3+
import rhythmo.Paths;
4+
import rhythmo.ui.BaseState;
5+
import rhythmo.graphics.GameSprite;
6+
import flixel.addons.display.FlxBackdrop;
7+
import flixel.addons.display.FlxGridOverlay;
8+
9+
class MainMenu extends BaseState
10+
{
11+
var lockInputs:Bool = false;
12+
13+
var selectionGroup:FlxTypedGroup<FlxSprite>;
14+
var selectedIndex:Int = 0;
15+
16+
override public function create():Void
17+
{
18+
var bg:FlxSprite = new GameSprite().loadGraphic(Paths.image('menu/backgrounds/title_bg'));
19+
add(bg);
20+
21+
var grid:FlxBackdrop = new FlxBackdrop(FlxGridOverlay.createGrid(80, 80, 160, 160, true, 0x33FFFFFF, 0x0));
22+
grid.velocity.set(40, 40);
23+
add(grid);
24+
25+
var logo:FlxSprite = new GameSprite(0, 150).loadGraphic(Paths.image('menu/logo'));
26+
logo.scale.set(0.6, 0.6);
27+
logo.screenCenter(X);
28+
add(logo);
29+
}
30+
}

0 commit comments

Comments
 (0)