mirror of
https://github.com/ninjamuffin99/Funkin.git
synced 2025-03-21 09:29:41 +00:00
adding in cool text shit
This commit is contained in:
parent
43682dd30d
commit
e78a08d765
85
source/Alphabet.hx
Normal file
85
source/Alphabet.hx
Normal file
|
@ -0,0 +1,85 @@
|
|||
package;
|
||||
|
||||
import flixel.FlxSprite;
|
||||
import flixel.graphics.frames.FlxAtlasFrames;
|
||||
import flixel.group.FlxSpriteGroup;
|
||||
|
||||
using StringTools;
|
||||
|
||||
class Alphabet extends FlxSpriteGroup
|
||||
{
|
||||
// custom shit
|
||||
// amp, backslash, question mark, apostrophy, comma, angry faic, period
|
||||
var lastSprite:AlphaCharacter;
|
||||
|
||||
public function new(x:Float, y:Float, text:String = "", ?bold:Bool = false)
|
||||
{
|
||||
super(x, y);
|
||||
|
||||
var arrayShit:Array<String> = text.split("");
|
||||
trace(arrayShit);
|
||||
|
||||
var loopNum:Int = 0;
|
||||
|
||||
for (character in arrayShit)
|
||||
{
|
||||
if (character == " ")
|
||||
{
|
||||
}
|
||||
|
||||
if (AlphaCharacter.alphabet.contains(character.toLowerCase()))
|
||||
{
|
||||
var xPos:Float = 0;
|
||||
if (lastSprite != null)
|
||||
{
|
||||
xPos = lastSprite.x + lastSprite.frameWidth - 40;
|
||||
}
|
||||
|
||||
// var letter:AlphaCharacter = new AlphaCharacter(30 * loopNum, 0);
|
||||
var letter:AlphaCharacter = new AlphaCharacter(xPos, 0);
|
||||
letter.createBold(character);
|
||||
add(letter);
|
||||
|
||||
lastSprite = letter;
|
||||
}
|
||||
|
||||
loopNum += 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class AlphaCharacter extends FlxSprite
|
||||
{
|
||||
public static var alphabet:String = "abcdefghijklmnopqrstuvwxyz";
|
||||
|
||||
var numbers:String = "1234567890";
|
||||
var symbols:String = "|~#$%()*+-:;<=>@[]^_";
|
||||
|
||||
public function new(x:Float, y:Float)
|
||||
{
|
||||
super(x, y);
|
||||
var tex = FlxAtlasFrames.fromSparrow(AssetPaths.alphabet__png, AssetPaths.alphabet__xml);
|
||||
frames = tex;
|
||||
|
||||
antialiasing = true;
|
||||
}
|
||||
|
||||
public function createBold(letter:String)
|
||||
{
|
||||
animation.addByPrefix(letter, letter.toUpperCase() + " bold", 24);
|
||||
animation.play(letter);
|
||||
updateHitbox();
|
||||
}
|
||||
|
||||
public function createLetter(letter:String):Void
|
||||
{
|
||||
var letterCase:String = "lowercase";
|
||||
if (letter.toLowerCase() != letter)
|
||||
{
|
||||
letterCase = 'capital';
|
||||
}
|
||||
|
||||
animation.addByPrefix(letter, letter + " " + letterCase, 24);
|
||||
animation.play(letter);
|
||||
}
|
||||
}
|
|
@ -80,7 +80,17 @@ class ChartingState extends MusicBeatState
|
|||
_song = PlayState.SONG;
|
||||
else
|
||||
{
|
||||
_song = Song.loadFromJson('tutorial');
|
||||
_song = {
|
||||
song: 'tutorial',
|
||||
notes: [],
|
||||
bpm: 100,
|
||||
sections: 0,
|
||||
needsVoices: false,
|
||||
player1: 'bf',
|
||||
player2: 'dad',
|
||||
sectionLengths: [],
|
||||
speed: 1
|
||||
};
|
||||
}
|
||||
|
||||
addSection();
|
||||
|
|
|
@ -2,6 +2,7 @@ package;
|
|||
|
||||
import flixel.FlxG;
|
||||
import flixel.FlxSprite;
|
||||
import flixel.addons.display.FlxGridOverlay;
|
||||
import flixel.text.FlxText;
|
||||
|
||||
class FreeplayState extends MusicBeatState
|
||||
|
@ -17,17 +18,22 @@ class FreeplayState extends MusicBeatState
|
|||
|
||||
// LOAD CHARACTERS
|
||||
|
||||
var bg:FlxSprite = FlxGridOverlay.create(20, 20);
|
||||
add(bg);
|
||||
|
||||
for (i in 0...songs.length)
|
||||
{
|
||||
var songText:FlxText = new FlxText(10, (26 * i) + 30, 0, songs[i], 24);
|
||||
var songText:Alphabet = new Alphabet(40, (70 * i) + 30, songs[i]);
|
||||
add(songText);
|
||||
}
|
||||
|
||||
selector = new FlxText();
|
||||
selector.size = 24;
|
||||
selector.size = 40;
|
||||
selector.text = ">";
|
||||
add(selector);
|
||||
|
||||
var swag:Alphabet = new Alphabet(1, 0, "swag");
|
||||
|
||||
super.create();
|
||||
}
|
||||
|
||||
|
@ -47,7 +53,7 @@ class FreeplayState extends MusicBeatState
|
|||
if (curSelected >= songs.length)
|
||||
curSelected = 0;
|
||||
|
||||
selector.y = (26 * curSelected) + 30;
|
||||
selector.y = (70 * curSelected) + 30;
|
||||
|
||||
if (FlxG.keys.justPressed.ENTER)
|
||||
{
|
||||
|
|
|
@ -2,6 +2,8 @@ package;
|
|||
|
||||
import Section.SwagSection;
|
||||
import Song.SwagSong;
|
||||
import flixel.FlxBasic;
|
||||
import flixel.FlxCamera;
|
||||
import flixel.FlxG;
|
||||
import flixel.FlxGame;
|
||||
import flixel.FlxObject;
|
||||
|
@ -67,6 +69,7 @@ class PlayState extends MusicBeatState
|
|||
private var startingSong:Bool = false;
|
||||
|
||||
private var healthHeads:FlxSprite;
|
||||
private var UI_camera:FlxCamera;
|
||||
|
||||
var controls(get, never):Controls;
|
||||
|
||||
|
@ -131,6 +134,10 @@ class PlayState extends MusicBeatState
|
|||
strumLine = new FlxSprite(0, 50).makeGraphic(FlxG.width, 10);
|
||||
strumLine.scrollFactor.set();
|
||||
|
||||
var gameCam:FlxCamera = FlxG.camera;
|
||||
|
||||
UI_camera = new FlxCamera(0, 0, FlxG.width, FlxG.height, 1);
|
||||
|
||||
strumLineNotes = new FlxTypedGroup<FlxSprite>();
|
||||
add(strumLineNotes);
|
||||
|
||||
|
@ -178,6 +185,10 @@ class PlayState extends MusicBeatState
|
|||
healthHeads.antialiasing = true;
|
||||
add(healthHeads);
|
||||
|
||||
// strumLineNotes.camera = UI_camera;
|
||||
// camera = FlxG.camera;
|
||||
// FlxG.cameras.add(UI_camera);
|
||||
|
||||
super.create();
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue