Προγραμματισμός

* Γνώση Υπολογιστών >> Προγραμματισμός >> Προγραμματισμός Java

Πώς να γράψετε παιχνίδια σε Java

Η γλώσσα προγραμματισμού Java έχει γίνει μια δημοφιλής επιλογή για την ανάπτυξη οφείλεται σε object-oriented δομή του και με βάση την εικονική μηχανή interface της, που επιτρέπει σε προγράμματα γραμμένα σε Java να τρέχει χωρίς τροποποίηση σε μια ευρεία ποικιλία λειτουργικών συστημάτων και υπολογιστές , από κινητά τηλέφωνα σε σταθμούς εργασίας . Είναι επίσης μια αρκετά ικανή πλατφόρμα για την ανάπτυξη παιχνιδιών , και αν είστε μόλις αρχίζουν να μαθαίνουν την ανάπτυξη του παιχνιδιού , είναι καλύτερο να αρχίσουμε απο τα απλά και να δημιουργήσει ένα Pong - κλώνο . Τα πράγματα που θα χρειαστείτε
Java
Η Εμφάνιση Περισσότερες οδηγίες
Η 1

Δημιουργήστε μια κλάση και ονομάστε το JPong . Εάν χρησιμοποιείτε ένα IDE όπως το NetBeans , μπορείτε να το κάνετε από το μενού αρχείο . Ωστόσο , ακόμη και ένα απλό επεξεργαστή κειμένου θα κάνει τη δουλειά : απλά να δημιουργήσετε ένα αρχείο με όνομα

Επικολλήστε τον ακόλουθο σκελετό στο αρχείο " JPong.java . " :

Java.awt.Canvas εισαγωγής ? εισαγωγή javax.swing.JFrame ? java.awt.event.KeyListener εισαγωγής ? java.awt.event.KeyEvent εισαγωγής ? java.awt.Color εισαγωγής ? java.awt.Graphics εισαγωγής ?

δημόσια τάξη Pong υλοποιεί KeyListener {

δημόσια Pong ( ) { }

δημόσια άκυρη keyPressed ( KeyEvent e ) { }

//Αυτά τα δύο απαιτούνται από τον compiler , αλλά δεν θα πρέπει να χρησιμοποιείται σε game.public κενό σας keyReleased ( KeyEvent e ) { } public void keyTyped ( KeyEvent e ) { }

public void draw ( ) { }

public boolean detectCollision ( ) { }

public void play ( ) { }

δημόσια στατική άκυρη κύρια ( String args [ ] ) { } }


τα υπόλοιπα βήματα θα γεμίσει σταδιακά ο σκελετός για να δημιουργήσετε ένα πλήρες παιχνίδι . 2

Ορίστε τα δεδομένα της κατηγορίας θα χρειαστεί . Τοποθετήστε αυτό στην κορυφή της κατηγορίας σου :

ιδιωτική τελική int πλάτος = 640 ? Ιδιωτική τελική int ΥΨΟΣ = 480 ? Ιδιωτική τελική int ΔΕΛΤΑ = 8 ? Ιδιωτική τελική int PADDLE_WIDTH = 32 ? Ιδιωτική τελική int PADDLE_HEIGHT = 128 ? ιδιωτική τελική int PUCK_RADIUS = 32 ?

Graphics g ?

ιδιωτικού int x1 = 20 ? //θέση του παίκτη Α paddleprivate int y1 = 240 ? ιδιωτικού int x2 = 600 ? //θέση του παίκτης Β paddleprivate int y2 = 240 ?

ιδιωτικά δίκλινα x = 60,0 ? //θέση του ballprivate διπλό y = 140,0 ? ιδιωτικά δίκλινα vx = 2.0 ? //ταχύτητα ballprivate διπλό vy = 1.0 ?

με 3

Δημιουργήστε τον κατασκευαστή

δημόσια Pong ( ) { JFrame f = new JFrame ()? . f.setDefaultCloseOperation ( JFrame.EXIT_ON_CLOSE ) ? f.setTitle ( «Pong 1,0 " ) ? f.setResizable ( ψευδής) ? καμβά c = νέα καμβά ( ) ? c.setSize ( 640 , 480) ? f.add ( γ ) ? f.pack ( ) ? f.setVisible ( αλήθεια)? g = c.getGraphics ( ) ? f.addKeyListener ( αυτή)? ισοπαλία ( ) ? }
Η 4

Δημιουργήστε τη μέθοδο keyPressed . Αυτό θα καλείται όταν ο χρήστης πιέζει ένα πλήκτρο στο πληκτρολόγιο , και θα προκαλέσει τα κουπιά για να κινηθεί όταν ορισμένα πλήκτρα πιεστεί :

δημόσια άκυρη keyPressed ( KeyEvent e ) {if ( e.getKeyCode ( ) = = KeyEvent.VK_UP ) y2 = y2 - DELTA ? else if ( e.getKeyCode ( ) == KeyEvent.VK_DOWN ) y2 = y2 + ΔΕΛΤΑ ? else if ( e.getKeyChar ( ) == ' i') ​​y1 = y1 - DELTA ? else if ( e.getKeyChar ( ) == 'k ' ) y1 = y1 + ΔΕΛΤΑ .?}
5

Δημιουργήστε τη μέθοδο κλήρωση που θα επιστήσει την οθόνη του κάθε καρέ του παιχνιδιού

public void draw ( ) { g.setColor ( Color.black ) ? g.fillRect ( 0 , 0 , πλάτος , ύψος ) ? 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

Δημιουργήστε τη μέθοδο ανίχνευσης σύγκρουσης που θα καθορίσουν αν ο δίσκος έχει χτυπήσει έναν από τους μοχλούς :

δημόσια detectCollision boolean ( ) { //δοκιμή για σύγκρουση με την πρώτη paddleif ( y + vy > y1 && y + vy x1 ) { return true ? }

//δοκιμή για σύγκρουση με το δεύτερο paddleelse αν ( y + vy > y2 && y + vy x2 && x + vx + PUCK_RADIUS Σελίδα 7

Δημιουργήστε το βρόχο του παιχνιδιού . Η λειτουργία αυτή συντονίζει τις άλλες εκτελώντας συνεχώς εφ 'όσον το παιχνίδι είναι ανοικτό :

public void play ( ) { ενώ η (πραγματική ) {if ( x + vx <0

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα