Pygame库基础模块全面介绍

目录

1.安装

2.使用

3.display显示模块

4.draw模块

5.event模块

① event可以判断的事件

 ②键盘事件key

6.font模块 

7.time模块

8.基本框架


Pygame 是一个专门用来开发游戏的 Python 模块,主要为开发、设计 2D 电子游戏而生,它是一个免费、开源的第三方软件包,支持多种操作系统,具有良好的跨平台性(比如 Windows、Linux、Mac 等)

1.安装

(使用win+r打开运行,输入cmd),接着输入以下代码

pip3 install pygame

2.使用

在使用时,先引入pygame库,然后对其进行初始化

import pygame  #导入pygame库
pygame.init()  #pygame库初始化

 pygame.quit()   #取消初始化

3.display显示模块

pygame.display.set_mode((width,height))  #创建一个窗口对象(宽高)
pygame.display.set_caption("游戏")       #更改窗口的标题为游戏
pygame.display.get_surface()	         #获取当前显示的 Surface 对象。
pygame.display.flip()	                 #更新整个待显示的 Surface 对象到屏幕上。(一般来说第一次更新用flip,后续更新使用update)
pygame.display.update()	                 #更新部分软件界面显示。
pygame.display.Info()	                 #产生一个 VideoInfo 对象,包含了显示界面的相关信息。
pygame.display.set_icon()	             #设置左上角的游戏图标,图标尺寸大小为 32*32。
pygame.display.iconify()	             #将显示的主窗口即 Surface 对象最小化,或者隐藏。
pygame.display.get_active()	             #当前显示界面显示在屏幕上时返回 True,如果窗口被隐藏和最小化则返回 False。
pygame.display.get_driver()              #获取pygame显示后端的名称
pygame.display.toggle_fullscreen()       #切换全屏显示和窗口显示
pygame.display。set_palette()            #为索引显示设置显示调色板

填充颜色:

import pygame
a = (0,0,0)  #使用rgb表定义黑色
screen = pygame.display.set_mode((600,800))

screen.fill(a)         #填充颜色

pygame.display.flip()  #刷新屏幕

4.draw模块


pygame.draw.rect(surface, color, rect, width)                #绘制矩形
pygame.draw.polygon(surface, color, points, width)           #绘制多边形
pygame.draw.circle(surface, color, pos, radius, width=0)     #根据圆心和半径绘制圆形
pygame.draw.ellipse(surface, color, Rect, width=0)            #根据限定矩形绘制一个椭圆形
pygame.draw.line(surface, color, s_pos, e_pos, width=1)      #绘制线段
pygame.draw.lines(surface, color, closed, pointlist, width=1)      #绘制多条连续的线段
pygame.draw.aaline(surface, color, startpos, endpos, blend=1)      #绘制抗锯齿的线段
pygame.draw.aalines(surface, color, closed, pointlist, blend=1)    #绘制多条连续的线段

surface:游戏主窗口
color:颜色
rect:位置和尺寸大小
width:线的宽度
pos:圆心位置
radius:半径
s_pos:起始位置
e_pos:终点位置
pointlist:参数值列表

5.event模块

pygame.event.get()	#从队列中获取事件  在后续获取鼠标键盘操作时可以得到应用

pygame.event.pump()	#pygame内部自动处理事件
pygame.event.poll()	#从队列中获取"一个"事件
pygame.event.wait()	#等待并从队列中获取一个事件
pygame.event.peek()	#检测某类型事件是否在队列中
pygame.event.clear()#从队列中删除所有的事件
pygame.event.Event()#创建一个新的事件对象

① event可以判断的事件

QUIT	        #用户按下窗口的关闭按钮	
ATIVEEVENT  	#Pygame被激活或者隐藏
	
KEYDOWN	        #键盘按下	
KEYUP	        #键盘放开	

MOUSEMOTION	    #鼠标移动 
MOUSEBUTTONDOWN	#鼠标按下 	
MOUSEBUTTONUP	#鼠标放开 	

JOYAXISMOTION	#游戏手柄(Joystick or pad) 移动 	
JOYBALLMOTION 	#游戏球(Joy ball) 移动  
JOYHATMOTION	#游戏手柄(Joystick) 移动    	
JOYBUTTONDOWN	#游戏手柄按下	
JOYBUTTONUP	    #游戏手柄放开    	

VIDEORESIZE	    #Pygame窗口缩放  	
VIDEOEXPOSE	    #Pygame窗口部分公开

 ②键盘事件keyK_BACKSPACE    退格键

1 K_TAB       制表键

K_CLEAR       清除键

K_RETURN   回车键

K_PAUSE       暂停键

K_ESCAPE   退出键

K_SPACE       空格键

K_0…K_9   0…9

K_a…Kz   a…z

K_DELETE   删除键

K_KP0..K_KP9  

0(小键盘)…9(小键盘)

K_F1..K_F15 F1…F15

K_UP       向上

K_DOWN       向下

6.font模块 

pygame.font.SysFont()	        #从系统字体库创建一个Font对象
pygame.font.Font()	            #从一个字体文件创建一个Font对象
pygame.font.init()	            #初始化字体模块
pygame.font.quit()	            #还原字体模块
pygame.font.get_fonts()	        #获取所有可使用的字体

 font模块主要应用在字体的创建上。

 pygame.font.SysFont("方正粗黑宋简体", size)  #字体字号
 font.render(text, True, color)              #文本 光滑 颜色

7.time模块

pygame.time.get_ticks() 	#以毫秒为单位获取时间
pygame.time.wait()	        #暂停
pygame.time.set_timer()	    #创建一个定时器,即每隔一段时间,去执行一些动作
pygame.time.Clock()	        #创建一个时钟对象

8.基本框架

对于pygame库要现有一个基本的主框架,然后在主框架中逐步填入每一条应用代码,测试每一段pygame的相关操作能够运行。

import pygame   #导入pygame库
import sys      #退出所使用的sys库

pygame.init()   #初始化pygame
pygame.display.set_mode((800,600))              #创建一个宽度为八百、高度为六百的窗口

pygame.display.set_caption("无聊.jpg 的小游戏")  #设置当前窗口标题
pygame.display.flip()      #刷新屏幕 

while True:   #设置游戏的主循环,保证页面不闪退,并且可以使用鼠标关闭
    for envent in pygame.event.get():   #监听用户事件
        if envent.type == pygame.QUIT:  # 判断用户是否点击了关闭按钮
            pygame.quit()  #卸载pygame所有程序
            sys.exit()     #用户退出


物联沃分享整理
物联沃-IOTWORD物联网 » Pygame库基础模块全面介绍

发表评论