center names and shrink when a name is fully faded out
This commit is contained in:
parent
b4498333df
commit
8471c43ed5
|
@ -720,13 +720,21 @@ public class Game extends ComplexOpsuState {
|
||||||
|
|
||||||
UI.draw(g);
|
UI.draw(g);
|
||||||
|
|
||||||
int i = 0;
|
|
||||||
//g.setColor(new Color(0.2f, 0.2f, 0.2f));
|
//g.setColor(new Color(0.2f, 0.2f, 0.2f));
|
||||||
//g.fillRect(0, 0, ReplayPlayback.SQSIZE * 2, displayContainer.height);
|
//g.fillRect(0, 0, ReplayPlayback.SQSIZE * 2, displayContainer.height);
|
||||||
//g.setColor(Color.black);
|
//g.setColor(Color.black);
|
||||||
//g.fillRect(ReplayPlayback.SQSIZE * 2, 0, ReplayPlayback.SQSIZE * 2, displayContainer.height);
|
//g.fillRect(ReplayPlayback.SQSIZE * 2, 0, ReplayPlayback.SQSIZE * 2, displayContainer.height);
|
||||||
|
float totalHeight = 0f;
|
||||||
for (ReplayPlayback replayPlayback : replays) {
|
for (ReplayPlayback replayPlayback : replays) {
|
||||||
replayPlayback.render(beatmap, hitResultOffset, displayContainer.renderDelta, g, i++, trackPosition);
|
totalHeight += replayPlayback.getHeight();
|
||||||
|
}
|
||||||
|
float ypos = (displayContainer.height - totalHeight) / 2 - ReplayPlayback.UNITHEIGHT;
|
||||||
|
for (ReplayPlayback replayPlayback : replays) {
|
||||||
|
float h = replayPlayback.getHeight();
|
||||||
|
ypos += h;
|
||||||
|
//if (h > 0f) {
|
||||||
|
replayPlayback.render(beatmap, hitResultOffset, displayContainer.renderDelta, g, ypos, trackPosition);
|
||||||
|
//}
|
||||||
}
|
}
|
||||||
|
|
||||||
super.render(g);
|
super.render(g);
|
||||||
|
|
|
@ -43,6 +43,7 @@ public class ReplayPlayback {
|
||||||
public Cursor cursor;
|
public Cursor cursor;
|
||||||
private int keydelay[];
|
private int keydelay[];
|
||||||
public static final int SQSIZE = 15;
|
public static final int SQSIZE = 15;
|
||||||
|
public static final int UNITHEIGHT = SQSIZE + 5;
|
||||||
private boolean hr;
|
private boolean hr;
|
||||||
private String player;
|
private String player;
|
||||||
private String mods;
|
private String mods;
|
||||||
|
@ -152,8 +153,9 @@ public class ReplayPlayback {
|
||||||
private int HITIMAGETIMERFADESTART = 500;
|
private int HITIMAGETIMERFADESTART = 500;
|
||||||
private int HITIMAGETIMERFADEEND = 700;
|
private int HITIMAGETIMERFADEEND = 700;
|
||||||
private float HITIMAGETIMERFADEDELTA = HITIMAGETIMERFADEEND - HITIMAGETIMERFADESTART;
|
private float HITIMAGETIMERFADEDELTA = HITIMAGETIMERFADEEND - HITIMAGETIMERFADESTART;
|
||||||
private int HITIMAGEDEADFADE = 15000;
|
private int HITIMAGEDEADFADE = 10000;
|
||||||
private void showHitImage(int renderdelta, int ypos) {
|
private float SHRINKTIME = 500f;
|
||||||
|
private void showHitImage(int renderdelta, float ypos) {
|
||||||
if (hitImage == null) {
|
if (hitImage == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -172,19 +174,29 @@ public class ReplayPlayback {
|
||||||
if (hitImageTimer > HITIMAGEDEADFADE) {
|
if (hitImageTimer > HITIMAGEDEADFADE) {
|
||||||
this.color.a = color.a = 0f;
|
this.color.a = color.a = 0f;
|
||||||
} else {
|
} else {
|
||||||
this.color.a = color.a = 1f - (float) hitImageTimer / HITIMAGEDEADFADE;
|
this.color.a = color.a = 1f - AnimationEquation.IN_CIRC.calc((float) hitImageTimer / HITIMAGEDEADFADE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
float scale = 1f;
|
float scale = 1f;
|
||||||
float offset = 0f;
|
float offset = 0f;
|
||||||
if (hitImageTimer < HITIMAGETIMEREXPAND) {
|
if (hitImageTimer < HITIMAGETIMEREXPAND) {
|
||||||
scale = AnimationEquation.OUT_EXPO.calc((float) hitImageTimer / HITIMAGETIMEREXPAND);
|
scale = AnimationEquation.OUT_EXPO.calc((float) hitImageTimer / HITIMAGETIMEREXPAND);
|
||||||
offset = (SQSIZE + 5f) / 2f * (1f - scale);
|
offset = UNITHEIGHT / 2f * (1f - scale);
|
||||||
}
|
}
|
||||||
hitImage.draw(SQSIZE * 5 + textwidth + SQSIZE + offset, ypos + offset, scale, color);
|
hitImage.draw(SQSIZE * 5 + textwidth + SQSIZE + offset, ypos + offset, scale, color);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void render(Beatmap beatmap, int[] hitResultOffset, int renderdelta, Graphics g, int ypos, int time) {
|
public float getHeight() {
|
||||||
|
if (hitImageTimer < HITIMAGEDEADFADE) {
|
||||||
|
return UNITHEIGHT;
|
||||||
|
}
|
||||||
|
if (hitImageTimer >= HITIMAGEDEADFADE + SHRINKTIME) {
|
||||||
|
return 0f;
|
||||||
|
}
|
||||||
|
return UNITHEIGHT * (1f - AnimationEquation.OUT_QUART.calc((hitImageTimer - HITIMAGEDEADFADE) / SHRINKTIME));
|
||||||
|
}
|
||||||
|
|
||||||
|
public void render(Beatmap beatmap, int[] hitResultOffset, int renderdelta, Graphics g, float ypos, int time) {
|
||||||
if (objectIndex >= gameObjects.length) {
|
if (objectIndex >= gameObjects.length) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -210,7 +222,6 @@ public class ReplayPlayback {
|
||||||
nextFrame = replay.frames[frameIndex];
|
nextFrame = replay.frames[frameIndex];
|
||||||
}
|
}
|
||||||
processKeys();
|
processKeys();
|
||||||
ypos *= (SQSIZE + 5);
|
|
||||||
g.setColor(color);
|
g.setColor(color);
|
||||||
if (!missed) {
|
if (!missed) {
|
||||||
for (int i = 0; i < 4; i++) {
|
for (int i = 0; i < 4; i++) {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user