From 01b9ce7fc384fabe88915d284c376ced912a6b78 Mon Sep 17 00:00:00 2001 From: h4ckx0r Date: Fri, 7 Feb 2025 12:11:25 +0100 Subject: [PATCH] Juego centrado en la pantalla y comentarios --- src/main/java/net/h4ckx0r/Arkanoid.java | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/main/java/net/h4ckx0r/Arkanoid.java b/src/main/java/net/h4ckx0r/Arkanoid.java index e7220f5..e6da411 100644 --- a/src/main/java/net/h4ckx0r/Arkanoid.java +++ b/src/main/java/net/h4ckx0r/Arkanoid.java @@ -34,13 +34,14 @@ public class Arkanoid { public Arkanoid() { - ventana.setBounds(100, 100, anchoVentana, altoVentana); + ventana.setBounds(0, 0, anchoVentana, altoVentana); ventana.getContentPane().setLayout(new BorderLayout()); ventana.getContentPane().add(canvas, BorderLayout.CENTER); - ventana.setResizable(false); - ventana.setIgnoreRepaint(true); + ventana.setLocationRelativeTo(null); // Esto hace que la ventana se centre en la pantalla + ventana.setResizable(false); // Esto evita que se redimensione la ventana + ventana.setIgnoreRepaint(true); // Esto evita que el SO repinte manualmente la ventana - ventana.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE); + ventana.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE); // Esto evita que se cierre la ventana automáticamente cuando se hace clic en el botón de cerrar ventana.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { @@ -58,6 +59,7 @@ public class Arkanoid { j.movimientoRaton(e.getX(), e.getY()); } + // Tenemos en cuenta también el ratón si el usuario deja pulsado el click, para evitar que pegue saltos en la pantalla @Override public void mouseDragged(MouseEvent e) { super.mouseDragged(e); @@ -140,7 +142,6 @@ public class Arkanoid { for (Actor actor : actores) { actor.actua(); } - canvas.repaint(); }