Java programmeringsspråk har blitt et populært valg for utbygging på grunn av sin objektorientert struktur og sitt virtuelle - maskin basert grensesnitt som gjør at programmer skrevet i Java for å kjøre uten modifikasjon på en rekke operativsystemer og datamaskiner, fra mobiltelefoner til arbeidsstasjoner . Det er også en helt i stand plattform for spillutvikling , og hvis du bare starte å lære spillutvikling , er det best å starte enkelt og lage en Pong - klone. Du trenger
Java
Vis flere instruksjoner
en
Lag en klasse og gi den navnet JPong . Hvis du bruker en IDE som NetBeans , kan du gjøre dette fra filmenyen. Men selv en enkel tekst editor gjøre jobben: bare lage en fil som heter
Lim inn følgende skjelett inn i filen " 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 implementerer KeyListener {
offentlig Pong ( ) { }
public void keyPressed ( KeyEvent e ) { }
//Disse to er nødvendig av kompilatoren , men ikke vil bli brukt i din game.public ugyldig keyReleased ( KeyEvent e ) { } public void keyTyped ( KeyEvent e ) { }
public void draw ( ) { }
public boolean detectCollision ( ) { }
public void spill ( ) { }
public static void main ( String args [ ] ) { }
}
resten av trinnene vil gradvis fylle ut skjelettet for å lage et komplett spill .
2
Definer dataene klassen trenger. Sett dette på toppen av klassen : en
private final int BREDDE = 640 ; private final int HØYDE = 480 ; private final int DELTA = 8; private final int PADDLE_WIDTH = 32 ; private final int PADDLE_HEIGHT = 128 ; private final int PUCK_RADIUS = 32 ;
Graphics g;
private int x1 = 20 , //plasseringen av spiller As paddleprivate int y1 = 240 ; private int x2 = 600 //plassering av spiller B paddleprivate int y2 = 240 ;
private double x = 60,0 ; //plasseringen av ballprivate double y = 140,0 ; private double vx = 2,0 ; //hastighet ballprivate dobbel vy = 1.0;
3
Lag konstruktøren
offentlig Pong ( ) { JFrame f = new JFrame (); . f.setDefaultCloseOperation ( JFrame.EXIT_ON_CLOSE ) ; f.setTitle ( " Pong 1.0" ) ; f.setResizable ( false) ; Canvas c = ny Canvas (); c.setSize ( 640 , 480 ) ; f.add ( c ) ; f.pack (); f.setVisible ( true); g = c.getGraphics (); f.addKeyListener (denne) ; draw (); }
4
Opprett keyPressed metoden. Dette vil bli kalt når brukeren trykker på en tast på tastaturet , og det vil føre til at padleårer å bevege seg når enkelte taster trykkes : en
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
Lag trekningen metoden som vil trekke skjermen hver kamp ramme
< p > public void draw ( ) { g.setColor ( Color.black ) ; g.fillRect ( 0 , 0 , bredde, høyde ) ; 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
Opprett dueller metode som vil avgjøre om pucken har rammet en av padleårer : en
public boolean detectCollision ( ) { //test for kollisjon med første paddleif ( y + vy > y1 && y + vy < y1 + PADDLE_HEIGHT && x + vx < x1 + PADDLE_WIDTH && x + vx > x1 ) { return true; }
//test for kollisjon med andre 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
Lag spillet loop. Denne funksjonen koordinerer de andre ved å kjøre kontinuerlig så lenge spillet er åpent : en
public void spill ( ) { while ( true) { if ( x + vx < 0