Ανοίξτε 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 " για να τρέξει το παιχνίδι σας και δείτε το αποτέλεσμα .
Η
εικόνων
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα