Die Programmiersprache Java hat sich zu einer beliebten Wahl für die Entwicklung aufgrund seiner objektorientierten Struktur und seine virtuelle Maschine basierte Schnittstelle, die in Java geschriebene Programme können ohne Modifikation auf einer Vielzahl von Betriebssystemen laufen zu lassen und Computer, von Handys bis zu Workstations. Es ist auch durchaus in der Lage eine Plattform für die Entwicklung von Spielen , und wenn Sie gerade erst anfangen , um die Entwicklung von Spielen zu lernen, ist es am besten zu starten einfach und erstellen Sie eine Pong - Klon . Things You
Java
brauchen anzeigen Weitere Anweisungen
1
Erstellen Sie eine Klasse und nennen Sie es JPong . Wenn Sie eine IDE wie Netbeans sind, können Sie diese aus dem Datei-Menü tun . Allerdings wird auch ein einfacher Texteditor die Arbeit machen : Erstellen Sie einfach eine Datei namens
Fügen Sie den folgenden Skelett in die Datei " JPong.java . ":
Import java.awt.Canvas ; Import javax.swing.JFrame , Import java.awt.event.KeyListener , Import java.awt.event.KeyEvent , Import java.awt.Color , Import java.awt.Graphics ;
public class Pong implementiert KeyListener {
öffentlichen Pong () {} public void
keyPressed ( KeyEvent e) {}
//Diese beiden werden vom Compiler erforderlich , wird aber nicht verwendet werden, in Ihre game.public nichtig keyReleased ( KeyEvent e) {} public void keyTyped ( KeyEvent e) {}
public void draw () {} public boolean
detectCollision () {}
public void play () {}
public static void main (String args [ ] ) {} }
der Rest der Schritte wird allmählich füllen das Skelett , ein komplettes Spiel zu erstellen.
2
Definieren Sie die Daten der Klasse benötigen. Fügen Sie dies an der Spitze der Klasse :
privaten final int WIDTH = 640 ; privaten final int HEIGHT = 480; privaten final int DELTA = 8; privaten final int PADDLE_WIDTH = 32; privaten final int PADDLE_HEIGHT = 128; Private final int PUCK_RADIUS = 32;
Graphics g;
private int x1 = 20; //Lage der Spieler A paddleprivate int y1 = 240; private int x2 = 600; //Ort Spieler B paddleprivate int y2 = 240;
private double x = 60,0 ; //Ort ballprivate double y = 140,0 ; private double vx = 2,0 ; //Geschwindigkeit ballprivate double vy = 1,0 ;
3
erstellen des Konstruktors
öffentlichen Pong () { JFrame f = new JFrame (); . f.setDefaultCloseOperation ( JFrame.EXIT_ON_CLOSE ); f.setTitle ( " Pong 1.0 " ) ; f.setResizable (false); Leinwand c = new Canvas (); c.setSize (640 , 480 ); f.add (c); f.pack (); f.setVisible (true); g = c.getGraphics (); f.addKeyListener (this); draw () ;}
4
erstellen der keyPressed Verfahren . Dies wird aufgerufen, wenn der Benutzer eine Taste auf der Tastatur , und es wird dazu führen, die Paddel zu bewegen, wenn bestimmte Tasten gedrückt werden :
public void keyPressed ( KeyEvent e) { if ( e.getKeyCode () = = KeyEvent.VK_UP ) y2 = y2 - DELTA ; else if ( e.getKeyCode () == KeyEvent.VK_DOWN ) y2 = y2 + DELTA ; else if ( e.getKeyChar () == 'i' ) y1 = y1 - DELTA ; else if ( e.getKeyChar () == ' k') y1 = y1 + DELTA ; . }
5
erstellen Sie die Methode, die Auslosung zu ziehen der Bildschirm wird jedes Spiel frame
public void draw () { g.setColor ( Color.black ); g.fillRect (0, 0 , Breite, Höhe ); g.setColor ( Color.red ); g.fillRect (x1 , y1, PADDLE_WIDTH , PADDLE_HEIGHT ) ; g.setColor ( Color.green ); g.fillRect (x2 , y2, PADDLE_WIDTH , PADDLE_HEIGHT ); g.setColor ( Color.yellow ); g.fillOval ( (int) x , (int) y, PUCK_RADIUS , PUCK_RADIUS ) ;
}
6
erstellen Sie die Kollisionserkennung Methode, die bestimmen, ob der Puck eine der Paddel getroffen hat wird :
public boolean detectCollision () { //Test zur Kollision mit dem ersten paddleif (y + vy > y1 && y + vy < y1 + PADDLE_HEIGHT && x + vx < x1 + PADDLE_WIDTH && x + vx > x1 ) {return true;}
//Test für Kollision mit dem zweiten paddleelse if ( y + vy > y2 && y + vy < y2 + PADDLE_HEIGHT && x + vx + PUCK_RADIUS > x2 && x + vx + PUCK_RADIUS < x2 + PADDLE_WIDTH ) {return true; } else return false; }
7
erstellen Sie das Spiel Schleife . Diese Funktion koordiniert die andere , indem Sie kontinuierlich so lange das Spiel offen ist :
public void play () {while (true) {if ( x + vx < 0