Tecnología

Inicio

Cómo escribir juegos en Java

Cómo escribir juegos en Java


El lenguaje de programación Java se ha convertido en una opción popular para el desarrollo debido a su estructura orientada a objetos y su interfaz basada en la máquina virtual que permite a los programas escritos en Java que se ejecuten sin modificaciones en una amplia variedad de sistemas operativos y ordenadores, desde teléfonos celulares hasta las estaciones de trabajo .

Es también una plataforma muy capaz para el desarrollo del juego, y si usted está recién empezando a aprender el desarrollo del juego, lo mejor es empezar de forma sencilla y crear un Pong-clon.

Instrucciones

1 Crear una clase y el nombre de JPong. Si está utilizando un IDE como NetBeans, puede hacerlo desde el menú archivo. Sin embargo, incluso un simple editor de texto hará el trabajo: acaba de crear un archivo llamado \ "JPong.java \".

Pegue el siguiente esqueleto en el archivo:

java.awt.Canvas importación
IR
importación javax.swing.JFrame
IR
importación java.awt.event.KeyListener
IR
importación java.awt.event.KeyEvent
IR
importación java.awt.Color
IR
java.awt.Graphics importación
IR

clase pública implementa Pong KeyListener {

Pong pública () {}

public void keyPressed (KeyEvent e) {}

// Estos dos son requeridos por el compilador, pero no se utilizarán en su juego.
public void keyReleased (KeyEvent e) {}
public void keyTyped (KeyEvent e) {}

sorteo public void () {}

detectCollision public boolean () {}

juego public void () {}

void Main (args String []) {} public static

}

El resto de los pasos se llenará gradualmente en el esqueleto para crear un juego completo.

2 Definir los datos que necesitará la clase. Insertar este en la parte superior de su clase:

int final privado WIDTH = 640;

int final privado HEIGHT = 480;

int final privado DELTA = 8
IR
int final privado PADDLE_WIDTH = 32
IR
int final privado PADDLE_HEIGHT = 128
IR
PUCK_RADIUS final privado int = 32
IR

gráficos g
IR

int x1 privado = 20; // Ubicación de paddle jugador del A
private int y1 = 240
IR
int x2 privada = 600; // Ubicación de remo del jugador B
private int y2 = 240
IR

x doble privada = 60,0; // Ubicación del balón
doble y privada = 140,0
IR
vx doble privada = 2,0; // Velocidad de la bola
vy doble privada = 1,0;

3 Crear el constructor.

public Pong() {
JFrame f = new JFrame()

IR

f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)

IR

f.setTitle(\"Pong 1.0\")

IR

f.setResizable(false)

IR

Canvas c = new Canvas()

IR

c.setSize(640, 480)

IR

f.add(c)

IR

f.pack()

IR

f.setVisible(true)

IR

g = c.getGraphics()

IR

f.addKeyListener(this)

IR

draw()

IR

}

4 Crear el método keyPressed. Esto se llama cada vez que el usuario pulsa una tecla en el teclado, y que hará que las palas se muevan cuando se presionan ciertas teclas:

public void keyPressed(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_UP) y2 = y2 - DELTA

IR

else if (e.getKeyCode() == KeyEvent.VK_DOWN) y2 = y2 + DELTA

IR

else if (e.getKeyChar() == 'i') y1 = y1 - DELTA

IR

else if (e.getKeyChar() == 'k') y1 = y1 + DELTA

IR

}

5 Crear el método de sorteo que atraerá a la pantalla de cada trama del juego.

public void draw() {
g.setColor(Color.black)

IR

g.fillRect(0, 0, WIDTH, HEIGHT)

IR

g.setColor(Color.red)

IR

g.fillRect(x1, y1, PADDLE_WIDTH, PADDLE_HEIGHT)

IR

g.setColor(Color.green)

IR

g.fillRect(x2, y2, PADDLE_WIDTH, PADDLE_HEIGHT)

IR

g.setColor(Color.yellow)

IR

g.fillOval((int)x, (int)y, PUCK_RADIUS, PUCK_RADIUS)

IR

}

6 Crear el método de detección de colisiones que va a determinar si el disco ha golpeado a una de las paletas:

public boolean detectCollision() {
// Test for collision with first paddle
if (y + vy > y1 &&
y + vy < y1 + PADDLE_HEIGHT &&
x + vx < x1 + PADDLE_WIDTH &&
x + vx> x1) {
return true

IR

}

// Prueba de colisión con la segunda paleta
else if (y + vy> y2 & amp; & amp;
y + vy & lt; y2 + PADDLE_HEIGHT & amp; & amp;
x + vx + PUCK_RADIUS> x2 & amp; & amp;
x + vx + PUCK_RADIUS & lt; + PADDLE_WIDTH x2) {
return true

IR

}
else return false

IR

}

7 Crear el bucle del juego. Esta función coordina otros ejecutando de forma continua, siempre y cuando el juego está abierto:

public void play() {
while (true) {
if (x + vx < 0 || x + vx > WIDTH || detectCollision()) vx = -vx

IR

if (y + vy < 0 || y + vy > HEIGHT) vy = -vy

IR

x = x + vx

IR

y = y + vy

IR

draw()

IR

try {
Thread.sleep(30)

IR

} catch (Exception e) {
e.printStackTrace()

IR

}
}
}

8 Cree la función principal. Esta es la puerta de entrada al programa y es requerido por todas las aplicaciones Java. Todo lo que hace es crear el juego y empezar la función de reproducción en marcha.

public static void main(String args[]) {
Pong p = new Pong()

IR

p.play()

IR

}