
- import sys
- import pygame
-
- pygame.init() #初始化
-
作用:创建游戏窗口
常见的内置方法:
| 方法 | 作用 |
| pygame。display.init() |
初始化display模块 |
| pygame.display.quit() | 结束display模块 |
| pygame.dispaly.set.mode() | 判断是否初始化 |
| pygame.display.set_mode() | 初始化一个准备显示的界面 |
| pygame.dispaly.get_surface() | 获取当前surface |
| pygame.display.dlip() | 更新显示 |
| pygame.display.update() | 更新部分内容显示到屏幕 |
小球续:
- import sys
- import pygame
-
- pygame.init() # 初始化
-
- size = width, height = 640, 800
- screen = pygame.display.set_mode()
-
- # 执行一个死循环,确保窗口一直存在,知道手动关闭(点击x)
- while True:
- #检查事件,显示窗口也是一个事件,点击关闭也是一个事件
- for event in pygame.event.get():
- if event.type == pygame.QUIT:
- pygame.quit()
- sys.exit()
上述代码中,添加了轮询事件,pygame。display.get()可以获取事件队列,使用for....in遍历事件,在跟根据type属性判断事件类型是否属于关闭事件
| 方法 | 作用 |
|
pygame.image.load( )
|
从文件加载图片 |
|
pygame.image.save( )
|
将图片保存到磁盘 |
|
pygame.image.get_extended(
|
检查是否支持载入扩展的图像格式 |
|
pygame.image.tostring( )
|
将图像转为字符串 |
|
pygame.image.fromstring()
|
将字符串转为图像 |
支持的图片格式:jpg png gif bmp pcx
注意:当一个图像被成功载入后,将转换为 Surface 对象,Surface 对象允许在其上边画线、设置像素、 捕获区域等
小球续:
- import sys
- import pygame
- pygame.init() # 初始化pygame
- size = width, height = 640, 480 # 设置窗口大小
- screen = pygame.display.set_mode(size) # 显示窗口
- color = (0, 0, 0) # 设置颜色
- ball = pygame.image.load('ball.png') # 加载小球图片,不显示
- # 执行死循环,确保窗口一直显示,直到手动关闭
- while True:
- # 检查事件,显示窗口是一个事件,点击关闭也是一个事件
- for event in pygame.event.get():
- if event.type == pygame.QUIT: # 如果点击关闭则退出
- pygame.quit()
- sys.exit()
|
方法
|
作用 |
| pygame.Surface.blit( ) | 将图像绘制到另一个图像上 |
| pygame.Surface.convert( ) |
转换图像的像素格式
|
| pygame.Surface.fill( ) | 使用颜色填充Surface |
|
pygame.Surface.get_rect
|
获取Surface的矩形区域 |
小球续:
- import sys
- import pygame
-
- pygame.init() # 初始化
-
- size = width, height = 640, 800
- screen = pygame.display.set_mode()
- colo=(0,0,0) #设置颜色
-
- ball=pygame.image.load('ball.png') #加载小球图片,但不显示
- ballrect=ball.get_rect() #获取矩形区域,其实就是小球图形所占区域,只不过没内容
-
-
- # 执行一个死循环,确保窗口一直存在,知道手动关闭(点击x)
- while True:
- #检查事件,显示窗口也是一个事件,点击关闭也是一个事件
- for event in pygame.event.get():
- if event.type == pygame.QUIT:
- pygame.quit()
- sys.exit()
-
- screen.fill(color)
- screen.blit(ball,ballrect) #将ball图片填充到屏幕矩形区域上
- pygame.display.flip()
-
-
- import sys
- import pygame
- pygame.init() # 初始化pygame
- size = width, height = 640, 480 # 设置窗口大小
- screen = pygame.display.set_mode(size) # 显示窗口,screen是一个Surface对象
- color = (0, 0, 0) # 设置颜色
- ball = pygame.image.load('ball.png') # 加载小球图片
- ballrect = ball.get_rect() # 获取矩形区域
- # 执行死循环,确保窗口一直显示,直到手动关闭
- while True:
- # 检查事件,显示窗口是一个事件,点击关闭也是一个事件
- for event in pygame.event.get():
- if event.type == pygame.QUIT: # 如果点击关闭则退出
- pygame.quit()
- sys.exit()
- ballrect = ballrect.move(5, 5) # 小球循环移动
- screen.fill(color) # 填充颜色
- screen.blit(ball, ballrect) # 把ball图片填充到窗口上
- pygame.display.flip() # 更新全部显示
|
方法
|
作用 |
| pygame.time.get_ticks( ) | 获取以毫秒为单位的时间 |
| pygame.time.wait( ) | 暂停程序一段时间 |
| pygame.time.set_timer( ) | 在事件队列上重复创建一个事件 |
| pygame.time.Clock( ) | 创建一个对象来帮助跟踪时间 |
- import sys
- import pygame
- pygame.init() # 初始化pygame
- size = width, height = 640, 480 # 设置窗口大小
- screen = pygame.display.set_mode(size) # 显示窗口,screen是一个Surface对象
- color = (0, 0, 0) # 设置颜色
- ball = pygame.image.load('ball.png') # 加载小球图片
- ballrect = ball.get_rect() # 获取矩形区域
- clock = pygame.time.Clock() # 创建时钟
- # 执行死循环,确保窗口一直显示,直到手动关闭
- while True:
- clock.tick(60) # 更新时钟,每秒执行60次,即程序将永远不会超过每秒60帧
- # 检查事件,显示窗口是一个事件,点击关闭也是一个事件
- for event in pygame.event.get():
- if event.type == pygame.QUIT: # 如果点击关闭则退出
- pygame.quit()
- sys.exit()
-
- ballrect = ballrect.move(5, 5) # 小球循环移动
- screen.fill(color) # 填充颜色
- screen.blit(ball, ballrect) # 把ball图片填充到窗口上
- pygame.display.flip() # 更新全部显示
- import sys
- import pygame
- pygame.init() # 初始化pygame
- size = width, height = 640, 480 # 设置窗口
- screen = pygame.display.set_mode(size) # 显示窗口
- color = (0, 0, 0) # 设置颜色
- ball = py