De programmeertaal Java is uitgegroeid tot een populaire keuze voor de ontwikkeling als gevolg van de object-georiënteerde structuur en de virtual - machine interface die het mogelijk maakt programma's geschreven in Java te lopen zonder wijziging op een breed scala van operationele systemen en computers , van mobiele telefoons tot werkstations . Het is ook een heel geschikt platform voor de ontwikkeling van games , en als je net begint met de ontwikkeling van games te leren , is het best om te beginnen met eenvoudige en maak een Pong - kloon . Wat je nodig hebt Java Toon Meer Aanwijzingen 1 Maak een klasse en noem maar JPong . Als u gebruik maakt van een IDE zoals Netbeans , kunt u dit doen in het menu bestand . Toch zal zelfs een eenvoudige tekst-editor het werk te doen : gewoon een bestand met de naam te maken Plak volgende skelet in het bestand " 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 implementeert KeyListener { openbare pong ( ) { } public void keyPressed ( KeyEvent e ) { } //Deze beide zijn vereist door de compiler , maar zal niet worden gebruikt in uw game.public leegte keyReleased ( KeyEvent e ) { } public void keyTyped ( KeyEvent e ) { } public void draw ( ) { } openbare boolean detectCollision ( ) { } public void play ( ) { } public static void main ( String args [ ] ) { } } de rest van de stappen zal geleidelijk in te vullen het skelet van een complete game te maken . kopen van 2 de gegevens van de klasse zal moeten definiëren . Breng dit aan de bovenkant van je klas : private int laatste WIDTH = 640 ; private int laatste HEIGHT = 480 ; private int laatste DELTA = 8 ; private int laatste PADDLE_WIDTH = 32 ; private int laatste PADDLE_HEIGHT = 128 ; private int laatste PUCK_RADIUS = 32 ; Graphics g ; private int x1 = 20 ; //locatie van speler A's paddleprivate int y1 = 240 ; private int x2 = 600 ; //locatie van speler B 's paddleprivate int y2 = 240 ; private double x = 60,0 ; //locatie van ballprivate dubbele y = 140,0 ; privetweepersoonskamer vx = 2.0 ; //snelheid van ballprivate dubbele vy = 1.0 ; < br > Goedkope 3 Maak de constructeur publiek Pong ( ) { JFrame f = new JFrame ( ) ; . f.setDefaultCloseOperation ( JFrame.EXIT_ON_CLOSE ) ; f.setTitle ( " Pong 1.0 " ) , f.setResizable ( false) ; canvas c = new canvas ( ) ; c.setSize ( 640 , 480 ) ; f.add ( c ) ; f.pack ( ) ; f.setVisible (true ) ; g = c.getGraphics ( ) ; f.addKeyListener ( this); draw ( ) ; } 4 Maak de keyPressed methode . Dit zal worden aangeroepen wanneer de gebruiker een toets op het toetsenbord , en het zal ertoe leiden dat de peddels te bewegen wanneer bepaalde toetsen worden ingedrukt persen : 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 Maak de loting methode die het scherm zal trekken elk spel kader public void draw ( ) { g.setColor ( Color.Black ) ; g.fillRect ( 0 , 0 , breedte, hoogte ) ; 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 Maak de collision detection methode die zal bepalen of de puck heeft getroffen een van de peddels : openbare boolean detectCollision ( ) op { //test voor botsing met eerst paddleif ( y + vy > y1 && y + vy < y1 + PADDLE_HEIGHT && x + vx < x1 + PADDLE_WIDTH && x + vx > x1 ) { return true ; } //Test voor botsing met tweede 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 ; } < br > 7 Maak het spel lus . Deze functie coördineert de anderen door het uitvoeren continu zolang het spel is geopend : public void play ( ) { while (true ) { if ( x + vx < 0 | | x + vx > BREEDTE | | detectCollision ( ) ) vx = - vx ; if ( y + vy < 0 | | y + vy > HOOGTE ) vy = - vy ; x = x + vx ; y = y + vy ; trekken ( ) ; try { Thread.sleep ( 30 ) ;} catch ( Exception e ) { e.printStackTrace ( ) ; } } } 8 Maak de belangrijkste functie . Dit is de vermelding manier om het programma en is vereist voor alle Java-toepassingen . Alles wat het doet is het creëren van het spel en start de play functie gaan public static void main ( String args [ ] ) . { Pong p = new Pong ( ) ; p.play ( ) ; } < br >
|