Draw an animated star stream in the song menu.

Star image was modified from XinCrin's "Fantasy's Skin".

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
This commit is contained in:
Jeffrey Han
2015-09-04 22:36:25 -05:00
parent cd3d53336d
commit 80042807c5
4 changed files with 180 additions and 2 deletions

View File

@@ -30,23 +30,24 @@ import itdelatrisu.opsu.audio.MultiClip;
import itdelatrisu.opsu.audio.MusicController;
import itdelatrisu.opsu.audio.SoundController;
import itdelatrisu.opsu.audio.SoundEffect;
import itdelatrisu.opsu.beatmap.BeatmapDifficultyCalculator;
import itdelatrisu.opsu.beatmap.Beatmap;
import itdelatrisu.opsu.beatmap.BeatmapDifficultyCalculator;
import itdelatrisu.opsu.beatmap.BeatmapParser;
import itdelatrisu.opsu.beatmap.BeatmapSet;
import itdelatrisu.opsu.beatmap.BeatmapSetList;
import itdelatrisu.opsu.beatmap.BeatmapSetNode;
import itdelatrisu.opsu.beatmap.BeatmapSortOrder;
import itdelatrisu.opsu.beatmap.BeatmapWatchService;
import itdelatrisu.opsu.beatmap.BeatmapWatchService.BeatmapWatchServiceListener;
import itdelatrisu.opsu.beatmap.LRUCache;
import itdelatrisu.opsu.beatmap.OszUnpacker;
import itdelatrisu.opsu.beatmap.BeatmapWatchService.BeatmapWatchServiceListener;
import itdelatrisu.opsu.db.BeatmapDB;
import itdelatrisu.opsu.db.ScoreDB;
import itdelatrisu.opsu.states.ButtonMenu.MenuState;
import itdelatrisu.opsu.ui.Colors;
import itdelatrisu.opsu.ui.Fonts;
import itdelatrisu.opsu.ui.MenuButton;
import itdelatrisu.opsu.ui.StarStream;
import itdelatrisu.opsu.ui.UI;
import itdelatrisu.opsu.ui.animations.AnimatedValue;
import itdelatrisu.opsu.ui.animations.AnimationEquation;
@@ -245,6 +246,9 @@ public class SongMenu extends BasicGameState {
}
};
/** The star stream. */
private StarStream starStream;
// game-related variables
private GameContainer container;
private StateBasedGame game;
@@ -336,6 +340,9 @@ public class SongMenu extends BasicGameState {
}
}
});
// star stream
starStream = new StarStream(width, height);
}
@Override
@@ -354,6 +361,9 @@ public class SongMenu extends BasicGameState {
GameImage.PLAYFIELD.getImage().draw();
}
// star stream
starStream.draw();
// song buttons
BeatmapSetNode node = startNode;
int songButtonIndex = 0;
@@ -558,6 +568,9 @@ public class SongMenu extends BasicGameState {
bgAlpha.update(delta);
}
// star stream
starStream.update(delta);
// search
search.setFocus(true);
searchTimer += delta;
@@ -1010,6 +1023,7 @@ public class SongMenu extends BasicGameState {
searchTransitionTimer = SEARCH_TRANSITION_TIME;
songInfo = null;
bgAlpha.setTime(bgAlpha.getDuration());
starStream.clear();
// reset song stack
randomStack = new Stack<SongNode>();