Pygame.locals中各种事件类型的详解
发布时间:2023-12-28 07:31:10
在Pygame中,可以使用Pygame.locals模块来处理各种不同类型的事件。下面是一些常见的事件类型的详细解释以及使用示例:
1. QUIT事件:当用户关闭窗口时发生。示例代码如下:
import pygame
from pygame.locals import *
pygame.init()
screen = pygame.display.set_mode((640, 480))
while True:
for event in pygame.event.get():
if event.type == QUIT:
pygame.quit()
sys.exit()
2. KEYDOWN和KEYUP事件:当用户按下或松开键盘上的键时发生。示例代码如下:
import pygame
from pygame.locals import *
pygame.init()
screen = pygame.display.set_mode((640, 480))
while True:
for event in pygame.event.get():
if event.type == KEYDOWN:
if event.key == K_SPACE:
print("Space key pressed")
elif event.type == KEYUP:
if event.key == K_SPACE:
print("Space key released")
3. MOUSEMOTION事件:当用户移动鼠标时发生。示例代码如下:
import pygame
from pygame.locals import *
pygame.init()
screen = pygame.display.set_mode((640, 480))
while True:
for event in pygame.event.get():
if event.type == MOUSEMOTION:
print("Mouse moved to", event.pos)
4. MOUSEBUTTONDOWN和MOUSEBUTTONUP事件:当用户按下或松开鼠标按钮时发生。示例代码如下:
import pygame
from pygame.locals import *
pygame.init()
screen = pygame.display.set_mode((640, 480))
while True:
for event in pygame.event.get():
if event.type == MOUSEBUTTONDOWN:
if event.button == 1:
print("Left mouse button pressed at", event.pos)
elif event.button == 3:
print("Right mouse button pressed at", event.pos)
elif event.type == MOUSEBUTTONUP:
if event.button == 1:
print("Left mouse button released at", event.pos)
elif event.button == 3:
print("Right mouse button released at", event.pos)
5. ACTIVEEVENT事件:当窗口活动状态发生变化时(例如,窗口被最小化或恢复),发生活动事件。示例代码如下:
import pygame
from pygame.locals import *
pygame.init()
screen = pygame.display.set_mode((640, 480))
while True:
for event in pygame.event.get():
if event.type == ACTIVEEVENT:
if event.gain == 0:
print("Window lost focus")
elif event.gain == 1:
print("Window gained focus")
这些只是一些常见的事件类型和使用示例,Pygame还提供了许多其他类型的事件,可以在Pygame文档中查看完整列表。根据需要选择适合自己的事件类型来处理不同的交互操作。
