pygame学习(一)创建最简单窗口以及设置背景色

这是第一篇博客,所以写的可能不太好,慢慢开始吧!

这篇pygame是从《Python编程:从入门到实践》的项目一外星人入侵学习的,所以按照这上面的流程来学习。

创建pygame窗口

首先是创建pygame窗口,以下应该就是最简单的窗口了。

import pygame

import sys


screen = pygame.display.set_mode((900,600))
pygame.display.set_caption("Alien Invasion")

while True:
	for event in pygame.event.get():
		if event.type == pygame.QUIT:
			sys.exit()

创建窗口由pygame.display.set_mode(())来设置窗口大小。然后可以通过pygame.display.set_caption()来设置标题。结果如下:

pygame学习(一)创建最简单窗口以及设置背景色_第1张图片

控制事件

然后通过一个while主循环来控制游戏的事件,pygame通过事件队列处理其所有事件消息。

在调试和试验时,您可以打印一个事件对象以快速显示其类型和成员。来自系统的事件将根据类型确定一组成员项目。以下是每种事件类型定义的事件属性列表。

QUIT             none
ACTIVEEVENT      gain, state
KEYDOWN          unicode, key, mod
KEYUP            key, mod
MOUSEMOTION      pos, rel, buttons
MOUSEBUTTONUP    pos, button
MOUSEBUTTONDOWN  pos, button
JOYAXISMOTION    joy, axis, value
JOYBALLMOTION    joy, ball, rel
JOYHATMOTION     joy, hat, value
JOYBUTTONUP      joy, button
JOYBUTTONDOWN    joy, button
VIDEORESIZE      size, w, h
VIDEOEXPOSE      none
USEREVENT        code

这里的pygame.event.get()用于从队列中获取事件,这将获得所有消息并将其从队列中移除。如果给出类型或序列的类型,则只有这些消息从队列中移除,如下:

get() - >事件列表
get(type) - > Eventlist

get(typelist) - > Eventlist


接着这里使用了QUIT,这里当鼠标点击关闭按钮时,就会检测到pygame.QUIT事件,然后调用sys.exit()退出。

填充背景色

接下来可以通过screen.fill()来填充背景色,其中的参数为(R,G,B),还需要使用pygame.display.flip()使绘制的屏幕可见。

import pygame
import sys
screen = pygame.display.set_mode((900,600))
while True:	
    for event in pygame.event.get():		
        if event.type == pygame.QUIT:			
            sys.exit()	
screen.fill((111,111,111))	
pygame.display.flip()


以上对screen的填充应都放在while主循环中,使屏幕能够实时刷新。


小结:

创建窗口主要的函数如下:

pygame.display.set_mode()  

初始化一个窗口或屏幕进行显示
set_mode(resolution=(0,0), flags=0, depth=0) -> Surface
resolution参数是一对代表宽度和高度的数字。flags参数是其他选项的集合。depth参数表示用于颜色的位数。


pygame.display.set_caption() 

用于设置当前窗口的标题

screen.fill() 

用于填充窗口的背景色

pygame.display.flip() 

用于刷新窗口,以显示重绘后的屏幕




你可能感兴趣的:(pygame)