1
0
Fork 0
mirror of https://github.com/ninjamuffin99/Funkin.git synced 2024-11-23 15:26:06 +00:00

almost got good prototyping shit in

This commit is contained in:
Cameron Taylor 2020-10-13 18:44:07 -07:00
parent c5d07c745f
commit dd623ed22f
3 changed files with 35 additions and 3 deletions

View file

@ -57,6 +57,8 @@ class ChartingState extends MusicBeatState
var sections:Array<Section> = [];
var gridBG:FlxSprite;
var oldSongData:Song;
override function create()
{
gridBG = FlxGridOverlay.create(GRID_SIZE, GRID_SIZE, GRID_SIZE * 8, GRID_SIZE * 16);
@ -66,6 +68,18 @@ class ChartingState extends MusicBeatState
addSection();
if (PlayState.SONG != null)
oldSongData = PlayState.SONG;
else
{
oldSongData = new Song(curSong, sections, Conductor.bpm, sections.length);
}
curSong = oldSongData.song;
sections = oldSongData.notes;
updateGrid();
FlxG.sound.playMusic('assets/music/' + curSong + '.mp3', 0.6);
FlxG.sound.music.pause();
FlxG.sound.music.onComplete = function()
@ -183,7 +197,7 @@ class ChartingState extends MusicBeatState
if (FlxG.keys.justPressed.ENTER)
{
PlayState.SONG = new Song(curSong, getNotes(), Conductor.bpm, sections.length);
PlayState.SONG = new Song(curSong, sections, Conductor.bpm, sections.length);
FlxG.sound.music.stop();
FlxG.switchState(new PlayState());
}
@ -308,6 +322,11 @@ class ChartingState extends MusicBeatState
private var daSpacing:Float = 0.3;
function loadLevel():Void
{
trace(oldSongData.notes);
}
function getNotes():Array<Dynamic>
{
var noteData:Array<Dynamic> = [];

View file

@ -427,6 +427,11 @@ class PlayState extends MusicBeatState
openSubState(new PauseSubState());
}
if (FlxG.keys.justPressed.ESCAPE)
{
FlxG.switchState(new ChartingState());
}
FlxG.watch.addQuick('VOL', vocals.amplitudeLeft);
FlxG.watch.addQuick('VOLRight', vocals.amplitudeRight);

View file

@ -6,9 +6,10 @@ import lime.utils.Assets;
class Song
{
public var song:String;
public var notes:Array<Dynamic>;
public var notes:Array<Section>;
public var bpm:Int;
public var sections:Int;
public var sectionLengths:Array<Dynamic> = [];
public function new(song, notes, bpm, sections)
{
@ -16,14 +17,20 @@ class Song
this.notes = notes;
this.bpm = bpm;
this.sections = sections;
for (i in 0...notes.length)
{
this.sectionLengths.push(notes[i]);
}
}
public static function loadFromJson(jsonInput:String):Song
{
var daNotes:Array<Dynamic> = [];
var daNotes:Array<Section> = [];
var daBpm:Int = 0;
var daSections:Int = 0;
var daSong:String = '';
var daSectionLengths:Array<Int> = [];
var songData = Json.parse(Assets.getText('assets/data/' + jsonInput + '/' + jsonInput + '.json'));
@ -31,6 +38,7 @@ class Song
daSong = songData.song;
daSections = songData.sections;
daBpm = songData.bpm;
daSectionLengths = songData.sectionLengths;
return new Song(daSong, daNotes, daBpm, daSections);
}