Python – Moving an object in PyGame

06 Mar, 2020
Pygame is a cross-platform set of Python modules designed for writing video games. It includes computer graphics and sound libraries designed to be used with the Python programming language. Now, it’s up to the imagination or necessity of developer, what type of game he/she wants to develop using this toolkit.
In this tutorial, we are going to learn how to move an object such that it moves horizontally when pressing the right arrow key or left arrow key on the keyboard and it moves vertically when pressing up arrow key or down arrow key.
The main concept of doing this is by changing the co-ordinates of the object and refreshing the screen. When the screen refreshes every time window color gets filled with original color and the new rectangle is formed, so when arrow keys get pressed co-ordinates changes and it appears that the object is moving.
Change in Co-ordinates for respective keys pressed :

Left arrow key: Decrement in x co-ordinate
Right arrow key: Increment in x co-ordinate
Up arrow key: Decrement in y co-ordinate
Down arrow key: Increment in y co-ordinate

Below is the implementation.
# import pygame module in this program import pygame  # activate the pygame library .  # initiate pygame and give permission  # to use pygame's functionality.  pygame.init()  # create the display surface object  # of specific dimension..e(500, 500).  win = pygame.display.set_mode((500, 500))  # set the pygame window name pygame.display.set_caption("Moving rectangle")  # object current co-ordinates x = 200y = 200  # dimensions of the object width = 20height = 20  # velocity / speed of movementvel = 10  # Indicates pygame is runningrun = True  # infinite loop while run:    # creates time delay of 10ms     pygame.time.delay(10)          # iterate over the list of Event objects      # that was returned by pygame.event.get() method.      for event in pygame.event.get():                  # if event object type is QUIT          # then quitting the pygame          # and program both.          if event.type == pygame.QUIT:                          # it will make exit the while loop             run = False    # stores keys pressed     keys = pygame.key.get_pressed()          # if left arrow key is pressed    if keys[pygame.K_LEFT] and x>0:                  # decrement in x co-ordinate        x -= vel              # if left arrow key is pressed    if keys[pygame.K_RIGHT] and x<500-width:                  # increment in x co-ordinate        x += vel             # if left arrow key is pressed       if keys[pygame.K_UP] and y>0:                  # decrement in y co-ordinate        y -= vel              # if left arrow key is pressed       if keys[pygame.K_DOWN] and y<500-height:        # increment in y co-ordinate        y += vel                           # completely fill the surface object      # with black colour      win.fill((0, 0, 0))          # drawing object on screen which is rectangle here     pygame.draw.rect(win, (255, 0, 0), (x, y, width, height))          # it refreshes the window    pygame.display.update()   # closes the pygame window pygame.quit()
Python-PyGame
Python
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.