Wie man Spiele in Java schreiben

January 2

Wie man Spiele in Java schreiben

Das Programmiersprache Java ist eine beliebte Wahl für Entwicklung aufgrund seiner objektorientierten Struktur und seine Basis virtuelle-Maschine-Schnittstelle, die Programme in Java auf einer Vielzahl von Betriebssystemen und Computern, von Handys auf Arbeitsstationen ohne Änderung ausgeführt erlaubt geworden.

Es ist auch eine sehr geeignete Plattform für Spielentwicklung, und wenn Sie gerade erst Spielentwicklung zu lernen, es empfiehlt sich, einfach starten und erstellen Sie einen Pong-Klon.

Anweisungen

1 Erstellen Sie eine Klasse und nennen Sie es JPong. Wenn Sie eine IDE wie Netbeans verwenden, können Sie dies über das Dateimenü tun. Jedoch sogar ein einfachen Text-Editor wird die Arbeit erledigen: Erstellen Sie einfach eine Datei namens \"JPong.java.\"

Das folgende Skelett in die Datei einfügen:

Import java.awt.CanvasGEHENImport javax.swing.JFrameGEHENImport java.awt.event.KeyListenerGEHENImport java.awt.event.KeyEventGEHENjava.awt.Color importierenGEHENjava.awt.Graphics importierenGEHEN

öffentliche Klasse Pong implementiert KeyListener {}

Public Pong() {}

public void KeyPressed (KeyEvent e) {}

Diese beiden sind vom Compiler benötigt, aber nicht in Ihr Spiel verwendet werden.public void KeyReleased (KeyEvent e) {}public void KeyTyped (KeyEvent e) {}

public void draw() {}

öffentliche boolesche detectCollision() {}

public void play() {}

publicstaticvoid Main (String args[]) {}

}

Die restlichen Schritte füllt sich allmählich in das Skelett ein komplettes Spiel erstellen.

2 Definieren Sie die Daten, die die Klasse benötigen. Fügen Sie diesen an die Spitze Ihrer Klasse:

Private final Int WIDTH = 640;

Private final Int HEIGHT = 480;

Private final Int DELTA = 8GEHENPrivate final Int PADDLE_WIDTH = 32GEHENPrivate final Int PADDLE_HEIGHT = 128GEHENPrivate final Int PUCK_RADIUS = 32GEHEN

Grafik-gGEHEN

private Int X 1 = 20; Lage von Spieler A die Paddelprivate Int y1 = 240GEHENprivate Int X 2 = 600; Lage von Spieler B der Paddelprivate Int y2 = 240GEHEN

Private double X = 60.0; Lage des Ballsprivate Doppelzimmer y = 140,0GEHENprivate Doppelzimmer Vx = 2,0; Geschwindigkeit der Kugelprivate Doppelzimmer Vy = 1.0;

3 Erstellen Sie den Konstruktor.

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

GEHEN

f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)

GEHEN

f.setTitle(\"Pong 1.0\")

GEHEN

f.setResizable(false)

GEHEN

Canvas c = new Canvas()

GEHEN

c.setSize(640, 480)

GEHEN

f.add(c)

GEHEN

f.pack()

GEHEN

f.setVisible(true)

GEHEN

g = c.getGraphics()

GEHEN

f.addKeyListener(this)

GEHEN

draw()

GEHEN

}4

Erstellen Sie die KeyPressed-Methode. Dies wird aufgerufen, sobald der Benutzer eine Taste auf der Tastatur drückt und es bewirkt, dass die Paddel zu bewegen, wenn bestimmte Tasten gedrückt werden:

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

GEHEN

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

GEHEN

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

GEHEN

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

GEHEN

}5

Erstellen Sie die Draw-Methode, die den Bildschirm zeichnen jedes Spiel Rahmen.

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

GEHEN

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

GEHEN

g.setColor(Color.red)

GEHEN

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

GEHEN

g.setColor(Color.green)

GEHEN

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

GEHEN

g.setColor(Color.yellow)

GEHEN

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

GEHEN

}6

Erstellen der Kollision Nachweismethode, die überprüft, ob der Puck man Paddel getroffen hat:

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

GEHEN

}

// Test for collision with second paddle else if (y + vy > y2 && y + vy < y2 + PADDLE_HEIGHT && x + vx + PUCK_RADIUS > x2 && x + vx + PUCK_RADIUS < x2 + PADDLE_WIDTH) { return true

GEHEN

} else return false

GEHEN

}7

Erstellen Sie die Spiele-Schleife. Diese Funktion koordiniert die anderen indem Sie kontinuierlich ausführen, so lange das Spiel offen ist:

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

GEHEN

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

GEHEN

x = x + vx

GEHEN

y = y + vy

GEHEN

draw()

GEHEN

try { Thread.sleep(30)

GEHEN

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

GEHEN

} } }8

Erstellen Sie die main-Funktion. Dies ist der Eintrag Weg, um das Programm und alle Java-Anwendungen erforderlich ist. Alles, was sie tut ist das Spiel zu erstellen und starten Sie die Wiedergabe Funktion gehen.

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

GEHEN

p.play()

GEHEN

}