Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/04/2009, 12:07
bardack_x
 
Fecha de Ingreso: abril-2009
Mensajes: 4
Antigüedad: 15 años, 1 mes
Puntos: 0
Juegos con Java

Bueno, soy relativamente nuevo en esto de java, se realmente lo basico (modo consola) y quiero aprender a crear juegos en java.

Mi problema es que no puedo implementar el teclado (...)

Si alguien pudiese ayudarme con algun turorial o un ejemplo practico seria de gran ayuda.

He visto varios ejemplos pero ninguno me ayuda lo suficiente.

El que mas me ha gustado es el que sigue, me ayudo bastante y se ve muy practico, pero no entra en nada respecto al teclado:

Código:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

class Demo1 extends JComponent {

    private final static int ANCHO = 320;   
    private final static int ALTO = 240;    
    private final static int DIAMETRO = 20; 
    private float x, y;
    private float vx, vy;
    
    public Demo1() {
        setPreferredSize(new Dimension(ANCHO, ALTO));
        x = 10;     
        y = 20;     
        vx = 300;   
        vy = 400;        
    }

    public static KeyStroke getKeyStroke(char keyChar){
          return(null);
    }

    private void fisica(float dt) {
        x += vx * dt;
        y += vy * dt;
        if (vx < 0 && x <= 0 || vx > 0 && x + DIAMETRO >= ANCHO)
            vx = -vx;
        if (vy < 0 && y < 0 || vy > 0 && y + DIAMETRO >= ALTO)
            vy = -vy;
    }

    public void paint(Graphics g) { //
        g.setColor(Color.WHITE);
        g.fillRect(0, 0, ANCHO, ALTO);
        g.setColor(Color.RED);
        g.fillOval(Math.round(x), Math.round(y), DIAMETRO, DIAMETRO);        
    }

    private void dibuja() throws Exception {
        SwingUtilities.invokeAndWait(new Runnable() {
                public void run() {
                    paintImmediately(0, 0, ANCHO, ALTO);
                }
            });
    }

    public void cicloPrincipalJuego() throws Exception {
        long tiempoViejo = System.nanoTime();
        while (true) {
            long tiempoNuevo = System.nanoTime();
            float dt = (tiempoNuevo - tiempoViejo) / 1000000000f;
            tiempoViejo = tiempoNuevo;
            fisica(dt);
            dibuja();
        }
    }

    public static void main(String[] args) throws Exception {
        JFrame jf = new JFrame("Demo1");
        jf.addWindowListener(new WindowAdapter() {
                public void windowClosing(WindowEvent e) {
                    System.exit(0);
                }
            });
        jf.setResizable(false);
        Demo1 demo1 = new Demo1();
        jf.getContentPane().add(demo1);
        jf.pack();
        jf.setVisible(true);
        demo1.cicloPrincipalJuego();
    }
}
Si tienen un ejemplo mas claro mejor, o si pueden implementar el teclado en este lo agradeceria muchisimo por igual.