Pygame学习笔记

1. pygame.Color 初始化支持的格式

a. 十进制数组 :(1,2, 3)

b. 字符串 :‘red’

c. HTML格式:‘#ff0011’

2. pygame.display

have a single display active at any time.

3. Open a window on the screen

screen_width = 640

screen_height = 480

screen = pygame.display.set_mode(size=(screen_width, screen_height))

pygame.display.set_mode --> Surface

set_mode(size=(0, 0), flags=0, depth=0, display=0, vsync=0) -> Surface

4. pygame.display.flip vs pygame.display.update

flip: Update the full display Surface to the screen。没有入参

update: 优化版本,可以更新屏幕的一部分。传参为 rectangle 或 rectangle_list。

相同点:两个都返回 None

5. pygame.display.set_caption

设置标题

set_caption(title, icontitle=None) -> None

6. pygame.draw.rect --> Rect

画正方形,需要传入三个参数,第一个需要画的 Surface,第二个颜色 Color,第三个正方形尺寸位置 Rect

7. pygame.time.Clock

Clock 对象有个 tick(n) 方法,放在 while 循环中,限制每秒钟循环的执行次数,降低对 CPU 的消耗。

8. Surface 对象填充背景

surface.fill(color)

9. pygame.font.Font.render

render(text, antialias, color, background=None) -> Surface

在新的画布上显示文字

文字只能是单行,换行符不被渲染,需要自己处理

10. pygame.KEYDOWN 和 pygame.KEYUP 两个事件都包含 key 和 mod 两个属性。

pygame.KEYDOWN 还包括另外两个参数:

unicode 和 scancode 

11. pygame.mixer 处理声音的模块

12. pygame.Surface

Surface((width, height), flags=0, depth=0, masks=None) -> Surface

需要指定宽度和高度,相当于一幅画

13. pygame.Surface.blit

blit(source, dest, area=None, special_flags=0) -> Rect

返回绘制的区域,只返回绘制的区域

14. pygame.Surface.fill

15. pygame.Surface.set_at

16. pygame.Surface.get_at

17. 用 pygame.image.load 加载图片后,要用 convert 方法去转化,加快速度。否则默认转化很耗时间。转化的是像素格式 ‘pixel format’

18. pygame.Rect.clamp

一个长方形嵌入到另一个中

clamp(Rect) -> Rect

19. pygame.Rect.collidepoint

检测一个点是否在长方形内

collidepoint(x, y) -> bool

collidepoint((x,y)) -> bool

20. pygame.Rect.clipline

检测一条线是否在一个长方形中,返回在的部分的坐标;完全不在返回空元组

clipline(x1, y1, x2, y2) -> ((cx1, cy1), (cx2, cy2))

clipline(x1, y1, x2, y2) -> ()

clipline((x1, y1), (x2, y2)) -> ((cx1, cy1), (cx2, cy2))

clipline((x1, y1), (x2, y2)) -> ()

clipline((x1, y1, x2, y2)) -> ((cx1, cy1), (cx2, cy2))

clipline((x1, y1, x2, y2)) -> ()

clipline(((x1, y1), (x2, y2))) -> ((cx1, cy1), (cx2, cy2))

clipline(((x1, y1), (x2, y2))) -> ()

21. Rect.move 和Rect.move_ip 

move_ip 才能把图片真正移动过去

*** 22. font.Font.render

render(text, antialias, color, background=None) -> Surface

在一个新的Surface上绘制文本

(1) pygame 无法在已有的surface上绘制文本,必须新建surface然后放到已有surface上。

(2)文本中不能包含换行符,需要自己处理;如果包含,则显示为一个小正方形

(3)background 参数如果不输入,则背景是透明的,会出现已有背景叠加的情况;background参数输入后,对解析性能也有帮助。

你可能感兴趣的:(Pygame学习笔记)