fix back button loading and improve back button chevron animation (itdelatrisu/opsu@c5749e3)
This commit is contained in:
parent
1faee53830
commit
c741db3923
|
@ -252,7 +252,7 @@ public enum GameImage {
|
||||||
return img.getScaledCopy((h * 0.3f) / img.getHeight());
|
return img.getScaledCopy((h * 0.3f) / img.getHeight());
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
MENU_BACK ("menu-back", "menu-back-%d", "png"),
|
MENU_BACK ("menu-back", "menu-back-%d", "png", false, true),
|
||||||
MENU_BACK_CHEVRON ("menu-back-chevron", "png"),
|
MENU_BACK_CHEVRON ("menu-back-chevron", "png"),
|
||||||
MENU_BACK_SLOPE("menu-back-slope", "png"),
|
MENU_BACK_SLOPE("menu-back-slope", "png"),
|
||||||
MENU_BUTTON_BG ("menu-button-background", "png", false, false),
|
MENU_BUTTON_BG ("menu-button-background", "png", false, false),
|
||||||
|
@ -600,6 +600,18 @@ public enum GameImage {
|
||||||
this.preload = preload;
|
this.preload = preload;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Constructor for an array of general images.
|
||||||
|
* @param filename the image file name
|
||||||
|
* @param filenameFormat the formatted file name string (for loading multiple images)
|
||||||
|
* @param type the file types (separated by '|')
|
||||||
|
* @param beatmapSkinnable whether or not the image is beatmap-skinnable
|
||||||
|
* @param preload whether or not to preload the image
|
||||||
|
*/
|
||||||
|
GameImage(String filename, String filenameFormat, String type, boolean beatmapSkinnable, boolean preload) {
|
||||||
|
this(filename, type, beatmapSkinnable, preload);
|
||||||
|
this.filenameFormat = filenameFormat;
|
||||||
|
}
|
||||||
/**
|
/**
|
||||||
* Returns whether or not the image is beatmap-skinnable.
|
* Returns whether or not the image is beatmap-skinnable.
|
||||||
* @return true if beatmap-skinnable
|
* @return true if beatmap-skinnable
|
||||||
|
|
|
@ -36,7 +36,7 @@ public class BackButton {
|
||||||
COLOR_DARKPINK = new Color(186, 19, 121);
|
COLOR_DARKPINK = new Color(186, 19, 121);
|
||||||
|
|
||||||
/** Target duration, in ms, of the button animations. */
|
/** Target duration, in ms, of the button animations. */
|
||||||
private static final int ANIMATION_TIME = 500;
|
private static final int ANIMATION_TIME = 500;
|
||||||
|
|
||||||
/** How much time passed for the animations. */
|
/** How much time passed for the animations. */
|
||||||
private int animationTime;
|
private int animationTime;
|
||||||
|
@ -81,8 +81,7 @@ public class BackButton {
|
||||||
private int realButtonWidth;
|
private int realButtonWidth;
|
||||||
|
|
||||||
public BackButton(DisplayContainer container) {
|
public BackButton(DisplayContainer container) {
|
||||||
//if (!GameImage.MENU_BACK.hasGameSkinImage()) {
|
if (!GameImage.MENU_BACK.hasGameSkinImage()) {
|
||||||
if (GameImage.MENU_BACK.getImage() != null && GameImage.MENU_BACK.getImage().getWidth() < 2) {
|
|
||||||
backButton = null;
|
backButton = null;
|
||||||
textWidth = Fonts.MEDIUM.getWidth("back");
|
textWidth = Fonts.MEDIUM.getWidth("back");
|
||||||
paddingY = Fonts.MEDIUM.getHeight("back");
|
paddingY = Fonts.MEDIUM.getHeight("back");
|
||||||
|
@ -126,6 +125,10 @@ public class BackButton {
|
||||||
Float beatProgress = MusicController.getBeatProgress();
|
Float beatProgress = MusicController.getBeatProgress();
|
||||||
if (beatProgress == null) {
|
if (beatProgress == null) {
|
||||||
beatProgress = 0f;
|
beatProgress = 0f;
|
||||||
|
} else if (beatProgress < 0.2f) {
|
||||||
|
beatProgress = AnimationEquation.IN_QUINT.calc(beatProgress * 5f);
|
||||||
|
} else {
|
||||||
|
beatProgress = 1f - AnimationEquation.OUT_QUAD.calc((beatProgress - 0.2f) * 1.25f);
|
||||||
}
|
}
|
||||||
int chevronSize = (int) (chevronBaseSize - (isHovered ? 6f : 3f) * beatProgress);
|
int chevronSize = (int) (chevronBaseSize - (isHovered ? 6f : 3f) * beatProgress);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user