pygame 包的使用 1
感觉游戏制作大体依据如下操作
一 几个初始化相关操作
pygame.init() 初始化所有导入的 pygame 模块
pygame.quit() 卸载所有导入的 pygame 模块。
二 首先通过一个代码示例来学习
import pygame # 游戏的初始化 pygame.init() # 创建游戏的窗口 480 * 700 screen = pygame.display.set_mode((480, 700)) # 绘制背景图像 bg = pygame.image.load("./images/background.png") screen.blit(bg, (0, 0)) # 绘制英雄的飞机(初始位置) hero = pygame.image.load("./images/me1.png") screen.blit(hero, (150, 300)) # update更新屏幕显示 pygame.display.update() # 创建时钟对象 (可以控制游戏循环频率) clock = pygame.time.Clock() # 1. rect矩形类记录飞机的位置 hero_rect = pygame.Rect(150, 300, 102, 126) # 游戏循环 -> 意味着游戏的正式开始! while True: # 通过时钟对象指定循环频率 clock.tick(60) # 每秒循环60次 # 2. 修改飞机的位置 hero_rect.y -= 1 # 向上移动 # 3. 调用blit方法绘制图像 screen.blit(bg, (0, 0)) # 元组参数表示绘制位置,也可以通过Rect矩形类来表示位置. screen.blit(hero, hero_rect) # 每次循环都重新绘制背景,是为了用背景遮盖之前绘制的内容 # 4. 调用update方法更新显示 pygame.display.update() pygame.quit()
1.pygame的display的用法
1.screen=pygame.display.set_mode((640,480),0,32) #创建了一个窗口,set_mode会返回一个Surface对象,代表了在桌面上出现的那个窗口,三个参数第一个为元组,代表分 辨率(必须);第二个是一个标志位,如果不用什么特性,就指定0;第三个为色深。当我们把第二个参数设置为FULLSCREEN时,就能得到一个全屏窗口了。
如这里就得到了一个Surface属性的screen,可以用surface的方法来操作这块屏幕。
2.pygame.display.set_caption("Hello, World!") #设置窗口标题
3.surface的重要的方法:bilt()
将一个图像绘制到另外一个图像的上方。
blit(source, dest, area=None, special_flags = 0) -> Rect,但是实际使用的还是前两个参数,source和dest
source是surface对象,它是一张图片。读取图片使用surface_obj = pygame.image.load("./images/background.png")
dest是应该就是传入一个坐标吧,表示图片开始绘制的地方。如果传入元素是rect类型,那么就只会使用它的左上角坐标。
rect数据类型自行查询使用。
感觉这样的话原图片的大小必须设置得当。因为这样只能对图片做一些平移处理。
不过这样的bilt应该就是后面的覆盖前面的吧。
4.注意最后需要 pygame.display.update()来使得绘制成功的图像得到显示。
2.clock方法的使用