colors & fixed a bug in layout
This commit is contained in:
@@ -60,12 +60,15 @@ public class Res {
|
||||
font = new DeferredFont("/res/font/PolygonPixel5x7Standard.ttf", Glyphs.basic, 16);
|
||||
font.setAntialias(true);
|
||||
font.setFilter(FilterMode.NEAREST);
|
||||
fonts.loadFont("default", font);
|
||||
fonts.loadFont("polygon_pixel", font);
|
||||
|
||||
font = new DeferredFont("/res/font/PressStart2P.ttf", Glyphs.basic, 16);
|
||||
font.setAntialias(true);
|
||||
font.setFilter(FilterMode.NEAREST);
|
||||
fonts.loadFont("press_start", font);
|
||||
|
||||
fonts.addAlias("default", "polygon_pixel");
|
||||
fonts.addAlias("main_menu_button", "press_start");
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ import mightypork.gamecore.input.KeyStroke;
|
||||
import mightypork.gamecore.input.Keys;
|
||||
import mightypork.gamecore.render.fonts.GLFont;
|
||||
import mightypork.rogue.Res;
|
||||
import mightypork.utils.math.color.RGB;
|
||||
import mightypork.utils.math.color.Color;
|
||||
import mightypork.utils.math.constraints.rect.proxy.RectBound;
|
||||
import mightypork.utils.math.constraints.vect.Vect;
|
||||
import mightypork.utils.string.StringProvider;
|
||||
@@ -40,7 +40,7 @@ public class LayerFps extends ScreenLayer {
|
||||
|
||||
final RectBound constraint = root.topRight().add(-8, 8).expand(0, 0, 0, 32);
|
||||
|
||||
tp = new TextPainter(font, AlignX.RIGHT, RGB.WHITE, new StringProvider() {
|
||||
tp = new TextPainter(font, AlignX.RIGHT, Color.WHITE, new StringProvider() {
|
||||
|
||||
@Override
|
||||
public String getString()
|
||||
@@ -50,7 +50,7 @@ public class LayerFps extends ScreenLayer {
|
||||
});
|
||||
|
||||
tp.setRect(constraint);
|
||||
tp.setShadow(RGB.BLACK, Vect.make(tp.height().div(16)));
|
||||
tp.setShadow(Color.BLACK, Vect.make(tp.height().div(16)));
|
||||
|
||||
root.add(tp);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
package mightypork.rogue.screens.main_menu;
|
||||
|
||||
import mightypork.gamecore.gui.AlignX;
|
||||
import mightypork.gamecore.gui.components.ClickableComponent;
|
||||
import mightypork.gamecore.gui.components.painters.TextPainter;
|
||||
import mightypork.gamecore.render.fonts.GLFont;
|
||||
import mightypork.rogue.Res;
|
||||
import mightypork.utils.math.color.Color;
|
||||
|
||||
|
||||
class MenuButton extends ClickableComponent {
|
||||
|
||||
private static GLFont font = Res.getFont("main_menu_button");
|
||||
private TextPainter painter;
|
||||
|
||||
public MenuButton(String text, Color color) {
|
||||
this.painter = new TextPainter(font, AlignX.CENTER, color, text);
|
||||
painter.setRect(this.shrink(this.height().perc(5)));
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected void renderComponent()
|
||||
{
|
||||
painter.render();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,5 +1,9 @@
|
||||
package mightypork.rogue.screens.main_menu;
|
||||
|
||||
import java.net.Authenticator.RequestorType;
|
||||
|
||||
import mightypork.gamecore.control.bus.events.ScreenRequestEvent;
|
||||
import mightypork.gamecore.gui.Action;
|
||||
import mightypork.gamecore.gui.AlignX;
|
||||
import mightypork.gamecore.gui.AlignY;
|
||||
import mightypork.gamecore.gui.components.layout.VerticalFixedFlowLayout;
|
||||
@@ -8,7 +12,9 @@ import mightypork.gamecore.gui.screens.Screen;
|
||||
import mightypork.gamecore.gui.screens.ScreenLayer;
|
||||
import mightypork.gamecore.render.fonts.GLFont;
|
||||
import mightypork.rogue.Res;
|
||||
import mightypork.utils.math.color.RGB;
|
||||
import mightypork.rogue.events.ActionRequest;
|
||||
import mightypork.rogue.events.ActionRequest.RequestType;
|
||||
import mightypork.utils.math.color.Color;
|
||||
import mightypork.utils.math.constraints.num.Num;
|
||||
import mightypork.utils.math.constraints.rect.Rect;
|
||||
|
||||
@@ -25,16 +31,54 @@ class MenuLayer extends ScreenLayer {
|
||||
{
|
||||
Rect menuBox = root.shrink(root.height().min(root.width()).mul(0.1));
|
||||
|
||||
Num lineHeight = menuBox.height().min(menuBox.width()).mul(0.13);
|
||||
Num lineHeight = menuBox.height().min(menuBox.width()).mul(0.1);
|
||||
|
||||
VerticalFixedFlowLayout layout = new VerticalFixedFlowLayout(root, menuBox, lineHeight, AlignY.TOP);
|
||||
root.add(layout);
|
||||
|
||||
GLFont f = Res.getFont("press_start");
|
||||
layout.add(new TextPainter(f, AlignX.CENTER, RGB.WHITE, "Hello!"));
|
||||
layout.add(new TextPainter(f, AlignX.CENTER, RGB.CYAN, "Woof Woof"));
|
||||
layout.add(new TextPainter(f, AlignX.CENTER, RGB.PURPLE, "MooooOOoOO"));
|
||||
layout.add(new TextPainter(f, AlignX.CENTER, RGB.GREEN, "Bye!"));
|
||||
MenuButton b1,b2,b3,b4;
|
||||
layout.add(b1 = new MenuButton("Render test", Color.WHITE));
|
||||
layout.add(b2 = new MenuButton("Bouncy Cubes", Color.CYAN));
|
||||
layout.add(b3 = new MenuButton("Flying Cat",Color.MAGENTA));
|
||||
layout.add(b4 = new MenuButton("Bye!", Color.GREEN));
|
||||
|
||||
b1.setAction(new Action() {
|
||||
|
||||
@Override
|
||||
protected void execute()
|
||||
{
|
||||
getEventBus().send(new ScreenRequestEvent("test.render"));
|
||||
}
|
||||
});
|
||||
|
||||
b2.setAction(new Action() {
|
||||
|
||||
@Override
|
||||
protected void execute()
|
||||
{
|
||||
getEventBus().send(new ScreenRequestEvent("test.bouncy"));
|
||||
}
|
||||
});
|
||||
|
||||
b3.setAction(new Action() {
|
||||
|
||||
@Override
|
||||
protected void execute()
|
||||
{
|
||||
getEventBus().send(new ScreenRequestEvent("test.cat"));
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
b4.setAction(new Action() {
|
||||
|
||||
@Override
|
||||
protected void execute()
|
||||
{
|
||||
getEventBus().send(new ActionRequest(RequestType.SHUTDOWN));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -7,7 +7,7 @@ import mightypork.gamecore.control.timing.Updateable;
|
||||
import mightypork.gamecore.gui.components.VisualComponent;
|
||||
import mightypork.gamecore.render.Render;
|
||||
import mightypork.utils.math.Easing;
|
||||
import mightypork.utils.math.color.RGB;
|
||||
import mightypork.utils.math.color.Color;
|
||||
import mightypork.utils.math.constraints.num.Num;
|
||||
import mightypork.utils.math.constraints.num.mutable.NumAnimated;
|
||||
import mightypork.utils.math.constraints.rect.Rect;
|
||||
@@ -24,6 +24,7 @@ public class BouncyBox extends VisualComponent implements Updateable {
|
||||
|
||||
|
||||
public BouncyBox() {
|
||||
super();
|
||||
enableCaching(true);
|
||||
|
||||
Rect abox;
|
||||
@@ -39,7 +40,7 @@ public class BouncyBox extends VisualComponent implements Updateable {
|
||||
@Override
|
||||
public void renderComponent()
|
||||
{
|
||||
Render.quad(box, RGB.GREEN);
|
||||
Render.quad(box, Color.GREEN);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ import mightypork.gamecore.gui.screens.ScreenLayer;
|
||||
import mightypork.gamecore.input.KeyStroke;
|
||||
import mightypork.gamecore.input.Keys;
|
||||
import mightypork.rogue.Res;
|
||||
import mightypork.utils.math.color.RGB;
|
||||
import mightypork.utils.math.color.Color;
|
||||
import mightypork.utils.math.constraints.num.Num;
|
||||
import mightypork.utils.math.constraints.vect.Vect;
|
||||
|
||||
@@ -54,10 +54,10 @@ public class LayerBouncyBoxes extends ScreenLayer {
|
||||
boxes.add(bbr);
|
||||
}
|
||||
|
||||
final TextPainter tp = new TextPainter(Res.getFont("default"), AlignX.LEFT, RGB.WHITE);
|
||||
final TextPainter tp = new TextPainter(Res.getFont("default"), AlignX.LEFT, Color.WHITE);
|
||||
tp.setText("Press \"C\" for \"Cat\" screen.");
|
||||
final Num shadowOffset = tp.height().div(16);
|
||||
tp.setShadow(RGB.RED, Vect.make(shadowOffset, shadowOffset));
|
||||
tp.setShadow(Color.RED, Vect.make(shadowOffset, shadowOffset));
|
||||
|
||||
layout.add(tp);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
package mightypork.rogue.screens.test_cat_sound;
|
||||
|
||||
import mightypork.gamecore.gui.components.painters.QuadPainter;
|
||||
import mightypork.gamecore.gui.screens.Screen;
|
||||
import mightypork.gamecore.gui.screens.ScreenLayer;
|
||||
import mightypork.utils.math.color.Color;
|
||||
|
||||
|
||||
public class LayerColor extends ScreenLayer{
|
||||
|
||||
public LayerColor(Screen screen, Color color) {
|
||||
super(screen);
|
||||
|
||||
root.add(new QuadPainter(color));
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getPriority()
|
||||
{
|
||||
return Integer.MIN_VALUE;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -15,7 +15,7 @@ import mightypork.gamecore.input.KeyStroke;
|
||||
import mightypork.gamecore.input.Keys;
|
||||
import mightypork.rogue.Res;
|
||||
import mightypork.utils.math.Easing;
|
||||
import mightypork.utils.math.color.RGB;
|
||||
import mightypork.utils.math.color.Color;
|
||||
import mightypork.utils.math.constraints.num.Num;
|
||||
import mightypork.utils.math.constraints.num.mutable.NumAnimated;
|
||||
import mightypork.utils.math.constraints.rect.Rect;
|
||||
@@ -48,12 +48,12 @@ public class LayerFlyingCat extends ScreenLayer implements MouseButtonEvent.List
|
||||
cat.enableCaching(false);
|
||||
|
||||
// frame around cat
|
||||
QuadPainter cat_frame = QuadPainter.gradV(RGB.YELLOW, RGB.RED);
|
||||
QuadPainter cat_frame = QuadPainter.gradV(Color.YELLOW, Color.RED);
|
||||
cat_frame.setRect(cat.grow(cat.height().mul(0.05)));
|
||||
cat_frame.enableCaching(false);
|
||||
|
||||
// frame shadow
|
||||
QuadPainter cat_shadow = new QuadPainter(RGB.dark(0.4));
|
||||
QuadPainter cat_shadow = new QuadPainter(Color.dark(0.4));
|
||||
cat_shadow.setRect(cat_frame.move(Vect.make(cat.height().mul(0.05))));
|
||||
cat_shadow.enableCaching(false);
|
||||
|
||||
@@ -66,9 +66,9 @@ public class LayerFlyingCat extends ScreenLayer implements MouseButtonEvent.List
|
||||
// Meow
|
||||
TextPainter tp = new TextPainter(Res.getFont("press_start"));
|
||||
tp.setAlign(AlignX.CENTER);
|
||||
tp.setColor(RGB.YELLOW);
|
||||
tp.setColor(Color.YELLOW);
|
||||
tp.setText("Meow!");
|
||||
tp.setShadow(RGB.dark(0.5), Vect.make(tp.height().div(16)));
|
||||
tp.setShadow(Color.dark(0.5), Vect.make(tp.height().div(16)));
|
||||
tp.setRect(Rect.make(cat.height().half()).centerTo(mouse));
|
||||
tp.enableCaching(false);
|
||||
root.add(tp);
|
||||
|
||||
@@ -61,12 +61,4 @@ public class ScreenTestCat extends LayeredScreen {
|
||||
{
|
||||
return "test.cat";
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected void renderScreen()
|
||||
{
|
||||
|
||||
super.renderScreen();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ package mightypork.rogue.screens.test_render;
|
||||
import mightypork.gamecore.gui.screens.Screen;
|
||||
import mightypork.gamecore.gui.screens.ScreenLayer;
|
||||
import mightypork.gamecore.render.Render;
|
||||
import mightypork.utils.math.color.RGB;
|
||||
import mightypork.utils.math.color.Color;
|
||||
import mightypork.utils.math.constraints.rect.proxy.RectBound;
|
||||
|
||||
|
||||
@@ -25,9 +25,9 @@ public class LayerTestGradient extends ScreenLayer {
|
||||
@Override
|
||||
protected void renderLayer()
|
||||
{
|
||||
Render.quadColor(root, RGB.WHITE, RGB.BLUE, RGB.BLACK, RGB.PURPLE);
|
||||
Render.quadGradH(pos1.getRect(), RGB.GREEN, RGB.RED);
|
||||
Render.quadGradV(pos2.getRect(), RGB.WHITE, RGB.PURPLE);
|
||||
Render.quadColor(root, Color.WHITE, Color.BLUE, Color.BLACK, Color.MAGENTA);
|
||||
Render.quadGradH(pos1.getRect(), Color.GREEN, Color.RED);
|
||||
Render.quadGradV(pos2.getRect(), Color.WHITE, Color.MAGENTA);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -14,7 +14,6 @@ public class ScreenTestRender extends LayeredScreen {
|
||||
|
||||
addLayer(new LayerFps(this));
|
||||
addLayer(new LayerTestGradient(this));
|
||||
addLayer(new LayerFlyingCat(this));
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user