Events in a game are the different things that happen during a game. Games are controlled by the user inputs either through mouse or keyboard. Whenever the user gives an input in some way to the game, the game has to react correspondingly according to what the user expects. Handling these events to produce some output is known as Event Handling.
Suppose the user opens a game. The user has option to quit the game any time they want.There are keyboard button controls for playing the game as well as mouse clicks and motions.
Every event is tracked by the pygame and it is our duty to just instruct what to do if that event occurs.
There are many types of events in pygame. Some of them are :
In this program, a variable named game_loop is declared and it is given the value as 'False'.
So the game_loop variable is of type boolean. We use this game_loop variable to run a while loop continuously to prevent the pygame window from exiting. This while loop is often called the game loop.
Handling QUIT event :
Now we will see how to handle when a quit event occurs and quit the pygame window.
import pygame
Suppose the user opens a game. The user has option to quit the game any time they want.There are keyboard button controls for playing the game as well as mouse clicks and motions.
Every event is tracked by the pygame and it is our duty to just instruct what to do if that event occurs.
There are many types of events in pygame. Some of them are :
- QUIT
- ACTIVEEVENT
- KEYDOWN
- KEYUP
- MOUSEMOTION
- MOUSEBUTTONUP
- MOUSEBUTTONDOWN
- VIDEORESIZE
Let me write a code to show how the events are identified in pygame.
import pygame
pygame.init()
display=pygame.display.set_mode((500,500))
game_loop=False
while not game_loop:
for event in pygame.event.get():
print(event)
pygame.display.update()
pygame.quit()
quit()
We can also directly run the python program directly in the idle window by pressing F5 button.
This program when run, displays all the events that occurs in the game window on the Python shell.
When we click exit button,QUIT event is recognised, but the program does not quit as we have not written any code to handle the QUIT event.Likewise all the events such as key presses all are recognised. The pygame.event.get() gets all the events that can be used in the program.
![]() |
The events are displayed on the Python shell |
So the game_loop variable is of type boolean. We use this game_loop variable to run a while loop continuously to prevent the pygame window from exiting. This while loop is often called the game loop.
Handling QUIT event :
Now we will see how to handle when a quit event occurs and quit the pygame window.
import pygame
pygame.init()
display=pygame.display.set_mode((500,500))
game_loop=False
while not game_loop:
for event in pygame.event.get():
if event.type==pygame.QUIT:
game_loop=True
pygame.display.update()
pygame.quit()
quit()
In this program, we have written code to handle the QUIT event. pygame.event.get() has all the events. In the loop, we check if the event type is a quit event,i.e pygame.QUIT. If the event is a quit event, then game_loop variable is set to True.So when quit event is detected,game_loop is set to True and hence the control comes out of the while loop(i.e the game loop).When the control comes out of the while loop, the next instruction to be executed is the pygame.quit() instruction and the quit() instruction. So the game window exits. Here,when we click the exit button on the top right corner of the pygame window, the game exits.
Comments
Post a Comment