8.5.2 - Κίνηση με τα πλήκτρα του πληκτρολογίου

Κατεβάστε τον κώδικα από εδώ και ανοίξτε τον με το Thonny.

Μελετήστε τις γραμμές 41 μέχρι 59

if event.type == pygame.KEYDOWN: if event.key == pygame.K_RIGHT or event.key == pygame.K_d: ship_x_speed = 5 if event.key == pygame.K_LEFT or event.key == pygame.K_a: ship_x_speed = -5 if event.key == pygame.K_DOWN or event.key == pygame.K_s: ship_y_speed = 5 if event.key == pygame.K_UP or event.key == pygame.K_w: ship_y_speed = -5 if event.type == pygame.KEYUP: if event.key == pygame.K_RIGHT or event.key == pygame.K_LEFT: ship_x_speed = 0 if event.key == pygame.K_d or event.key == pygame.K_a: ship_x_speed = 0 if event.key == pygame.K_UP or event.key == pygame.K_DOWN: ship_y_speed = 0 if event.key == pygame.K_w or event.key == pygame.K_s: ship_y_speed = 0


Σε αυτές τις γραμμές η pygame ελέγχει αν κάποιο από τα πλήτρα με τα βελάκια ΑΡΙΣΤΕΡΑ, ΔΕΞΙΑ, ΠΑΝΩ, ΚΑΤΩ ή τα πλήκτρα d, a , s, w έχουν πατηθεί (KEYDOWN) ή δεν είναι πλέον πατημένα (KEYUP) και μετακινεί το διαστημόπλοιο ανάλογα.

Στις γραμμές 30 με 33 που είναι εκτός της κύριας επανάληψης ορίζουμε την αριχκή θέση του διαστημοπλοίου και κάνουμε 0 την αρχική του ταχύτητα σε κάθε άξονα.

ship_x = 500 ship_y = 380 ship_x_speed = 0 ship_y_speed = 0


τέλος στις γραμμές 74 μέχρι 87 που εμφανίζουμε το διαστημόπλοιο το κινούμε και σιγουρεύουμε το ότι θα παραμείνει μέσα στην οθόνη

screen.blit(spaceshipImg, (ship_x, ship_y)) if ship_x >= 0 and ship_x <= 984: ship_x += ship_x_speed elif ship_x < 0: ship_x = 1 elif ship_x > 984: ship_x = 983 if ship_y >= 0 and ship_y <= 728: ship_y += ship_y_speed elif ship_y < 0: ship_y = 1 elif ship_y > 728: ship_y = 727 print(ship_x, ship_y)


Η τελική έκδοση, έτοιμη  για παιχνίδι βρίσκεται εδώ.