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

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

Πώς να κάνει παιχνίδια Χρήση Python για αρχάριους

Python και δωρεάν βιβλιοθήκη ανάπτυξης παιχνιδιών της , Pygame , να χειριστεί ένα μεγάλο μέρος της εργασίας λεπτομέρεια της ανάπτυξης παιχνιδιών για σας , επιτρέποντάς σας να επικεντρωθεί στο σχεδιασμό του παιχνιδιού σας . Ακόμα , το Crysis δεν γράφτηκε σε μια ημέρα , έτσι θα πρέπει να ξεκινήσετε από πού βίντεο ίδια τα παιχνίδια ξεκίνησε κάνοντας ένα παιχνίδι όπως «Pong ». Μπορεί να μην είναι αυτό που παίρνετε στο σχεδιασμό του παιχνιδιού για να κάνουμε , αλλά θα σας διδάξει τα βασικά και να σας αφήσει να πάρετε ένα παιχνίδι οργανωθεί και να λειτουργήσει γρήγορα. Τα πράγματα που θα χρειαστείτε
Pygame
Η Εμφάνιση Περισσότερες οδηγίες
Η 1

Ανοίξτε Idle , η προεπιλεγμένη Python IDE από το μενού Έναρξη των Windows σας . Κάντε κλικ στο " Αρχείο" και " New Window ». Αμέσως να αποθηκεύσετε το νέο αρχείο σας και να του δώσετε το όνομα " Ping.py. " 2

Αποκτήστε το περιβάλλον του παιχνιδιού είναι έτοιμη . Πληκτρολογήστε τα ακόλουθα στο Ping.py αρχείο σας :

os εισαγωγής , sysimport pygame.locals pygamefrom εισαγωγή *

οθόνη = pygame.display.set_mode ( ( 640480 ) )

αυτό εισαγωγές από την Python σε επιπλέον εντολές που θα χρειαστείτε για να γράψει το παιχνίδι σας και δημιουργεί ένα νέο παράθυρο για το παιχνίδι σας να τρέχει μέσα Hit " F5 " για να εκτελέσετε το πρόγραμμα . Εναλλακτικά , κάντε κλικ στο " Run" και " Run Module " από το μενού . Και οι δύο θα έχουν το ίδιο αποτέλεσμα - μια εντελώς διαφανές παράθυρο θα εμφανιστεί στην επιφάνεια εργασίας του υπολογιστή σας . Θα είναι 640 pixels πλάτος και 480 pixels ύψος .

Και θα συντριβή και θα σας δώσει ένα μήνυμα σφάλματος αρκετά γρήγορα , γιατί ακόμα κι αν δημιουργήθηκε το παράθυρο , δεν έχει γίνει τίποτα με αυτό .
Η
3

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

PADDLE_WIDTH = 50PADDLE_HEIGHT = 10p1Paddle = pygame.Rect ( 10 , 430 , PADDLE_WIDTH , PADDLE_HEIGHT )

PADDLE_COLOR = pygame.color . χρώμα ( «κόκκινο» ) SCREEN_COLOR = pygame.color.Color ( " μαύρη" ) ?

Αυτό λέει στον υπολογιστή πόσα pixels πλάτος και υψηλή κουπί του παίκτη πρέπει να είναι καθώς και τι χρώμα θα πρέπει να είναι . Λέει, επίσης, Python ότι θέλετε κουπί σας να είναι 10 pixels από την αριστερή πλευρά της οθόνης και 430 pixels από την κορυφή της οθόνης . Θυμηθείτε , η οθόνη είναι 640 pixels πλάτος και 480 pixels ύψος , έτσι ώστε το πτερύγιο θα είναι στην αριστερή πλευρά της οθόνης , κοντά στον πυθμένα .

Επίσης , ορίζει ότι η ίδια η οθόνη θα έχει μαύρο χρώμα .
Η 4

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

puckSpeedX = 1puckSpeedY = 1

PUCK_COLOR = pygame.color.Color ( «πράσινων») puck = pygame.Rect ( 320,240,10,10 )

Αυτό λέει στον υπολογιστή τι χρώμα το ξωτικό θα είναι και πού θα πρέπει να βρίσκεται στην οθόνη . Στην περίπτωση αυτή , θα είναι 320 pixels από την αριστερή και 240 pixels από την κορυφή. Επίσης, θα είναι 10 pixels πλάτος και 10 pixels ύψος .

Τέλος , δεδομένου ότι οι ξωτικό κινήσεις με τη θέλησή της , χρειάζεται μια ταχύτητα . Συχνά σε ένα 2D παιχνίδι , όπως «Pong », είναι πιο εύκολο να χωρίσουμε ταχύτητες στο πόσο μεγάλη ένα αντικείμενο κινείται οριζόντια και πόσο γρήγορα κινείται κατακόρυφα . Στην περίπτωση αυτή , ο δίσκος θα κινηθεί οριζόντια ( Χ) με ταχύτητα 1 και θα κινείται κατακόρυφα ( Y) σε ταχύτητα 1 και
5

Ρυθμίστε το βρόχο παιχνίδι πληκτρολογώντας : .

ενώ True : p1Paddle.left = pygame.mouse.get_pos ( ) [ 0 ] = puck.left puck.left + puckSpeedXpuck.top = puck.top + puckSpeedYscreen.fill ( SCREEN_COLOR ) ? screen.fill ( PADDLE_COLOR , p1Paddle ) screen.fill ( PUCK_COLOR , puck ) pygame.time.delay ( 10 )

Πηγαίνοντας γραμμή προς γραμμή , η « ενώ η αλήθεια " εντολή λέει το παιχνίδι για να συνεχίσει να τρέχει επ 'αόριστον ή μέχρι να χτυπά και ο χρήστης " Κλείσιμο κουμπί " στο παράθυρο του .

συνέχεια, λέει στον υπολογιστή που κουπί του παίκτη θα πρέπει να είναι στην ίδια θέση στην οθόνη , οριζόντια , από το δείκτη του ποντικιού . Με αυτόν τον τρόπο , ο παίκτης μπορεί να ακολουθήσει το ξωτικό μετακινώντας το ποντίκι του . Η ίδια δίσκος κινείται με την προσθήκη Χ και Υ ταχύτητες του τη θέση του στην οθόνη . Στη συνέχεια, αντλεί το φόντο της οθόνης , κουπί του παίκτη και το ξωτικό , με αυτή τη σειρά . Hit " F5 " για να τρέξει το παιχνίδι .

Παρατηρήστε τυχόν προβλήματα ; Κανένα από τα γραφικά σας στο στάδιο της επεξεργασίας στην οθόνη . Σχεδόν όλα τα σύγχρονα παιχνίδια χρησιμοποιούν ένα τέχνασμα που ονομάζεται « διπλό buffering " να επιστήσει την οθόνη . Αυτό σημαίνει ότι τα γραφικά που στη μνήμη και στη συνέχεια συντάσσεται , όλα με τη μία , στην οθόνη αργότερα . Χωρίς διπλό buffering , γραφικά του παιχνιδιού έχουν μια συνήθεια να τρεμοπαίζει . Για να υποδείξουμε στην Python να γράψει πραγματικά τα γραφικά στην οθόνη του υπολογιστή , ή "flip το buffer , « προσθέστε την ακόλουθη γραμμή στο παιχνίδι :

pygame.display.flip ( ) ?

Τύπου " F5 " για να τρέξει το παιχνίδι . Υπάρχει ακόμα ένα αρκετά μεγάλο ελάττωμα στο παιχνίδι : ο δίσκος πετά μόνο μέσα από το κουπί και από την οθόνη σαν να μην υπήρχε
Η 6

Προσθήκη ανίχνευση σύγκρουσης στο ξωτικό . . Αυτό μπορεί να απαιτήσει μια μικρή επανεκπαίδευση σε καινούριο άλγεβρα . Προσθέστε αυτόν τον κώδικα στο βρόχο παιχνίδι σας :

αν puck.colliderect ( p1Paddle ) : puckSpeedY = puckSpeedY * -1

αν puck.top <0 ή puck.bottom > 480 : puckSpeedY = puckSpeedY * -1

αν puck.left <0 ή puck.right > 640 : puckSpeedX = puckSpeedX * -1

Πηγαίνοντας ένα προς ένα , σκεφτείτε τι συμβαίνει εδώ . Αν ο δίσκος συγκρούεται με το κουπί του παίκτη , τότε είναι Y ταχύτητα πολλαπλασιάζεται με μείον - 1 . Έτσι , εάν η ταχύτητα Y ( θυμηθείτε , αυτό σημαίνει κατακόρυφη ταχύτητα ) ήταν 1 , τώρα είναι μείον - 1 . Γι 'αυτό κινείται προς την ακριβώς αντίθετη κατεύθυνση κάθετα . Το ίδιο θα συμβεί αν η σφαίρα χτυπά το επάνω ή το κάτω μέρος της οθόνης . Και τέλος , αν ο δίσκος χτυπά την αριστερή ή τη δεξιά πλευρά της οθόνης , την ταχύτητα του X ( ή οριζόντια ταχύτητα του) πολλαπλασιάζεται με μείον - 1 . Hit " F5 " για να τρέξει το παιχνίδι σας και δείτε το αποτέλεσμα .
Η
εικόνων

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

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