mirror of
https://github.com/ninjamuffin99/Funkin.git
synced 2024-12-27 15:37:49 +00:00
Vwoosh notes on reset
This commit is contained in:
parent
92a0c367b7
commit
4e67791249
|
@ -639,6 +639,9 @@ class PlayState extends MusicBeatState
|
||||||
|
|
||||||
currentStage.resetStage();
|
currentStage.resetStage();
|
||||||
|
|
||||||
|
playerStrumline.vwooshNotes();
|
||||||
|
opponentStrumline.vwooshNotes();
|
||||||
|
|
||||||
playerStrumline.clean();
|
playerStrumline.clean();
|
||||||
opponentStrumline.clean();
|
opponentStrumline.clean();
|
||||||
|
|
||||||
|
|
|
@ -53,6 +53,9 @@ class Strumline extends FlxSpriteGroup
|
||||||
var noteSplashes:FlxTypedSpriteGroup<NoteSplash>;
|
var noteSplashes:FlxTypedSpriteGroup<NoteSplash>;
|
||||||
var noteHoldCovers:FlxTypedSpriteGroup<NoteHoldCover>;
|
var noteHoldCovers:FlxTypedSpriteGroup<NoteHoldCover>;
|
||||||
|
|
||||||
|
var notesVwoosh:FlxTypedSpriteGroup<NoteSprite>;
|
||||||
|
var holdNotesVwoosh:FlxTypedSpriteGroup<SustainTrail>;
|
||||||
|
|
||||||
final noteStyle:NoteStyle;
|
final noteStyle:NoteStyle;
|
||||||
|
|
||||||
var noteData:Array<SongNoteData> = [];
|
var noteData:Array<SongNoteData> = [];
|
||||||
|
@ -76,10 +79,18 @@ class Strumline extends FlxSpriteGroup
|
||||||
this.holdNotes.zIndex = 20;
|
this.holdNotes.zIndex = 20;
|
||||||
this.add(this.holdNotes);
|
this.add(this.holdNotes);
|
||||||
|
|
||||||
|
this.holdNotesVwoosh = new FlxTypedSpriteGroup<SustainTrail>();
|
||||||
|
this.holdNotesVwoosh.zIndex = 21;
|
||||||
|
this.add(this.holdNotesVwoosh);
|
||||||
|
|
||||||
this.notes = new FlxTypedSpriteGroup<NoteSprite>();
|
this.notes = new FlxTypedSpriteGroup<NoteSprite>();
|
||||||
this.notes.zIndex = 30;
|
this.notes.zIndex = 30;
|
||||||
this.add(this.notes);
|
this.add(this.notes);
|
||||||
|
|
||||||
|
this.notesVwoosh = new FlxTypedSpriteGroup<NoteSprite>();
|
||||||
|
this.notesVwoosh.zIndex = 31;
|
||||||
|
this.add(this.notesVwoosh);
|
||||||
|
|
||||||
this.noteHoldCovers = new FlxTypedSpriteGroup<NoteHoldCover>(0, 0, 4);
|
this.noteHoldCovers = new FlxTypedSpriteGroup<NoteHoldCover>(0, 0, 4);
|
||||||
this.noteHoldCovers.zIndex = 40;
|
this.noteHoldCovers.zIndex = 40;
|
||||||
this.add(this.noteHoldCovers);
|
this.add(this.noteHoldCovers);
|
||||||
|
@ -201,6 +212,54 @@ class Strumline extends FlxSpriteGroup
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Call this when resetting the playstate.
|
||||||
|
*/
|
||||||
|
public function vwooshNotes():Void
|
||||||
|
{
|
||||||
|
for (note in notes.members)
|
||||||
|
{
|
||||||
|
if (note == null) continue;
|
||||||
|
if (!note.alive) continue;
|
||||||
|
|
||||||
|
notes.remove(note);
|
||||||
|
notesVwoosh.add(note);
|
||||||
|
|
||||||
|
var targetY:Float = FlxG.height + note.y;
|
||||||
|
if (PreferencesMenu.getPref('downscroll')) targetY = 0 - note.height;
|
||||||
|
FlxTween.tween(note, {y: targetY}, 0.5,
|
||||||
|
{
|
||||||
|
ease: FlxEase.expoIn,
|
||||||
|
onComplete: function(twn) {
|
||||||
|
note.kill();
|
||||||
|
notesVwoosh.remove(note, true);
|
||||||
|
note.destroy();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
for (holdNote in holdNotes.members)
|
||||||
|
{
|
||||||
|
if (holdNote == null) continue;
|
||||||
|
if (!holdNote.alive) continue;
|
||||||
|
|
||||||
|
holdNotes.remove(holdNote);
|
||||||
|
holdNotesVwoosh.add(holdNote);
|
||||||
|
|
||||||
|
var targetY:Float = FlxG.height + holdNote.y;
|
||||||
|
if (PreferencesMenu.getPref('downscroll')) targetY = 0 - holdNote.height;
|
||||||
|
FlxTween.tween(holdNote, {y: targetY}, 0.5,
|
||||||
|
{
|
||||||
|
ease: FlxEase.expoIn,
|
||||||
|
onComplete: function(twn) {
|
||||||
|
holdNote.kill();
|
||||||
|
holdNotesVwoosh.remove(holdNote, true);
|
||||||
|
holdNote.destroy();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* For a note's strumTime, calculate its Y position relative to the strumline.
|
* For a note's strumTime, calculate its Y position relative to the strumline.
|
||||||
* NOTE: Assumes Conductor and PlayState are both initialized.
|
* NOTE: Assumes Conductor and PlayState are both initialized.
|
||||||
|
@ -213,7 +272,7 @@ class Strumline extends FlxSpriteGroup
|
||||||
var vwoosh:Float = (strumTime < Conductor.songPosition) && vwoosh ? 2.0 : 1.0;
|
var vwoosh:Float = (strumTime < Conductor.songPosition) && vwoosh ? 2.0 : 1.0;
|
||||||
var scrollSpeed:Float = PlayState.instance?.currentChart?.scrollSpeed ?? 1.0;
|
var scrollSpeed:Float = PlayState.instance?.currentChart?.scrollSpeed ?? 1.0;
|
||||||
|
|
||||||
return Conductor.PIXELS_PER_MS * (Conductor.songPosition - strumTime) * scrollSpeed * vwoosh * (PreferencesMenu.getPref('downscroll') ? 1 : -1);
|
return Constants.PIXELS_PER_MS * (Conductor.songPosition - strumTime) * scrollSpeed * vwoosh * (PreferencesMenu.getPref('downscroll') ? 1 : -1);
|
||||||
}
|
}
|
||||||
|
|
||||||
function updateNotes():Void
|
function updateNotes():Void
|
||||||
|
@ -273,7 +332,7 @@ class Strumline extends FlxSpriteGroup
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var renderWindowEnd = holdNote.strumTime + holdNote.fullSustainLength + Conductor.HIT_WINDOW_MS + RENDER_DISTANCE_MS / 8;
|
var renderWindowEnd = holdNote.strumTime + holdNote.fullSustainLength + Constants.HIT_WINDOW_MS + RENDER_DISTANCE_MS / 8;
|
||||||
|
|
||||||
if (holdNote.missedNote && Conductor.songPosition >= renderWindowEnd)
|
if (holdNote.missedNote && Conductor.songPosition >= renderWindowEnd)
|
||||||
{
|
{
|
||||||
|
@ -308,7 +367,7 @@ class Strumline extends FlxSpriteGroup
|
||||||
// Hold note was dropped before completing, keep it in its clipped state.
|
// Hold note was dropped before completing, keep it in its clipped state.
|
||||||
holdNote.visible = true;
|
holdNote.visible = true;
|
||||||
|
|
||||||
var yOffset:Float = (holdNote.fullSustainLength - holdNote.sustainLength) * Conductor.PIXELS_PER_MS;
|
var yOffset:Float = (holdNote.fullSustainLength - holdNote.sustainLength) * Constants.PIXELS_PER_MS;
|
||||||
|
|
||||||
trace('yOffset: ' + yOffset);
|
trace('yOffset: ' + yOffset);
|
||||||
trace('holdNote.fullSustainLength: ' + holdNote.fullSustainLength);
|
trace('holdNote.fullSustainLength: ' + holdNote.fullSustainLength);
|
||||||
|
|
Loading…
Reference in a new issue