我们在第一个程序里使用了如下的语句
screen = pygame.display.set_mode((640, 480), 0, 32)
也讲述了各个参数的意思,当我们把第二个参数设置为FULLSCREEN时,就能得到一个全屏窗口了
screen = pygame.display.set_mode((640, 480), FULLSCREEN, 32)
注意:如果你的程序有什么问题,很可能进入了全屏模式就不太容易退出来了,所以最好先用窗口模式调试好,再改为全屏模式。
看一下这个示例:
background_image_filename = './img/Spaceship.png'
import pygame
from pygame.locals import *
from sys import exit
pygame.init()
screen = pygame.display.set_mode((640, 480), 0, 32)
background = pygame.image.load(background_image_filename).convert()
Fullscreen = False
while True:
for event in pygame.event.get():
if event.type == QUIT:
exit()
if event.type == KEYDOWN:
if event.key == K_f:
Fullscreen = not Fullscreen
if Fullscreen:
screen = pygame.display.set_mode((640, 480), FULLSCREEN, 32)
else:
screen = pygame.display.set_mode((640, 480), 0, 32)
screen.blit(background, (0,0))
pygame.display.update()
运行这个程序,默认还是窗口的,按“f ”,显示模式会在窗口和全屏之间切换。
事件(Event) 基本上说是一个用户操作,如按键、点击、鼠标移动等等,或者是一些提示信息,如系统生成的通知。
事件检索
上面程序中,使用了pygame.event.get()来处理所有的事件,这好像打开大门让所有的人进入。然后根据需要进行筛选,过滤,根据不同的事件类型进行处理。
在上面的程序中如果是用户按下关闭按钮(QUIT),那么执行推出;如果是键盘按键按下事件(KEYDOWN),判断是否是f键,然后进行全屏切换。
下表是一个常用事件集:
| 事件 | 产生途径 | 参数 |
|---|---|---|
| QUIT | 用户按下关闭按钮 | none |
| ATIVEEVENT | Pygame被激活或者隐藏 | gain, state |
| KEYDOWN | 键盘被按下 | unicode, key, mod |
| KEYUP | 键盘被放开 | key, mod |
| MOUSEMOTION | 鼠标移动 | pos, rel, buttons |
| MOUSEBUTTONDOWN | 鼠标按下 | pos, button |
| MOUSEBUTTONUP | 鼠标放开 | pos, button |
| JOYAXISMOTION | 游戏手柄(Joystick or pad)移动 | joy, axis, value |
| JOYBALLMOTION | 游戏球(Joy ball)?移动 | joy, axis, value |
| JOYHATMOTION | 游戏手柄(Joystick)?移动 | joy, axis, value |
| JOYBUTTONDOWN | 游戏手柄按下 | joy, button |
| JOYBUTTONUP | 游戏手柄放开 | joy, button |
| VIDEORESIZE | Pygame窗口缩放 | size, w, h |
| VIDEOEXPOSE | Pygame窗口部分公开(expose)? | none |
| USEREVENT | 触发了一个用户事件 |
code |
本站内容未经许可,禁止任何网站及个人进行转载。







