fade out player name at fail location
This commit is contained in:
parent
8df9732bf6
commit
3913abfcaf
|
@ -33,6 +33,10 @@ import java.io.*;
|
||||||
import java.nio.ByteBuffer;
|
import java.nio.ByteBuffer;
|
||||||
import java.util.LinkedList;
|
import java.util.LinkedList;
|
||||||
|
|
||||||
|
import static itdelatrisu.opsu.GameData.*;
|
||||||
|
import static itdelatrisu.opsu.Utils.*;
|
||||||
|
import static itdelatrisu.opsu.ui.animations.AnimationEquation.*;
|
||||||
|
|
||||||
public class ReplayPlayback {
|
public class ReplayPlayback {
|
||||||
|
|
||||||
private static final boolean HIDEMOUSEBTNS = true;
|
private static final boolean HIDEMOUSEBTNS = true;
|
||||||
|
@ -44,6 +48,7 @@ public class ReplayPlayback {
|
||||||
public ReplayFrame nextFrame;
|
public ReplayFrame nextFrame;
|
||||||
private int frameIndex;
|
private int frameIndex;
|
||||||
public Color color;
|
public Color color;
|
||||||
|
public Color originalcolor;
|
||||||
public Cursor cursor;
|
public Cursor cursor;
|
||||||
private int keydelay[];
|
private int keydelay[];
|
||||||
public static final int SQSIZE = 15;
|
public static final int SQSIZE = 15;
|
||||||
|
@ -56,6 +61,7 @@ public class ReplayPlayback {
|
||||||
private String currentAcc;
|
private String currentAcc;
|
||||||
private int currentAccWidth;
|
private int currentAccWidth;
|
||||||
private final int ACCMAXWIDTH;
|
private final int ACCMAXWIDTH;
|
||||||
|
private float failposx, failposy;
|
||||||
|
|
||||||
private int c300, c100, c50;
|
private int c300, c100, c50;
|
||||||
|
|
||||||
|
@ -73,6 +79,7 @@ public class ReplayPlayback {
|
||||||
this.hitdata = hitdata;
|
this.hitdata = hitdata;
|
||||||
resetFrameIndex();
|
resetFrameIndex();
|
||||||
this.color = color;
|
this.color = color;
|
||||||
|
this.originalcolor = new Color(color);
|
||||||
Color cursorcolor = new Color(color);
|
Color cursorcolor = new Color(color);
|
||||||
//cursorcolor.a = 0.5f;
|
//cursorcolor.a = 0.5f;
|
||||||
cursor = new Cursor(cursorcolor);
|
cursor = new Cursor(cursorcolor);
|
||||||
|
@ -248,6 +255,13 @@ public class ReplayPlayback {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (time >= hitdata.combobreaktime) {
|
if (time >= hitdata.combobreaktime) {
|
||||||
|
if (!missed) {
|
||||||
|
failposx = currentFrame.getScaledX();
|
||||||
|
failposy = currentFrame.getScaledY();
|
||||||
|
if (hr) {
|
||||||
|
failposy = container.height - failposy;
|
||||||
|
}
|
||||||
|
}
|
||||||
missed = true;
|
missed = true;
|
||||||
color = new Color(missedColor);
|
color = new Color(missedColor);
|
||||||
hitImageTimer = 0;
|
hitImageTimer = 0;
|
||||||
|
@ -270,6 +284,16 @@ public class ReplayPlayback {
|
||||||
xpos += 10;
|
xpos += 10;
|
||||||
showHitImage(renderdelta, xpos, ypos);
|
showHitImage(renderdelta, xpos, ypos);
|
||||||
if (missed) {
|
if (missed) {
|
||||||
|
if (hitImageTimer < HITIMAGEDEADFADE) {
|
||||||
|
float progress = (float) hitImageTimer / HITIMAGEDEADFADE;
|
||||||
|
float failposy = this.failposy + 50f * OUT_QUART.calc(progress);
|
||||||
|
Color col = new Color(originalcolor);
|
||||||
|
col.a = 1f - IN_QUAD.calc(clamp(progress * 2f, 0f, 1f));
|
||||||
|
Fonts.SMALLBOLD.drawString(failposx - playerwidth / 2, failposy, player, col);
|
||||||
|
Color failimgcol = new Color(1f, 1f, 1f, col.a);
|
||||||
|
Image failimg = hitResults[HIT_MISS].getScaledCopy(SQSIZE + 5, SQSIZE + 5);
|
||||||
|
failimg.draw(failposx + playerwidth / 2 + 5, failposy + 2f, failimgcol);
|
||||||
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
int y = currentFrame.getScaledY();
|
int y = currentFrame.getScaledY();
|
||||||
|
|
Loading…
Reference in New Issue
Block a user