Skip to content

Commit

Permalink
feat: update pygame and python core modules
Browse files Browse the repository at this point in the history
  • Loading branch information
liuzhuan committed Sep 30, 2024
1 parent 480b4aa commit 6b2c24a
Show file tree
Hide file tree
Showing 2 changed files with 49 additions and 1 deletion.
29 changes: 28 additions & 1 deletion _posts/2024-09-27-pygame-usage.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,30 @@ while running:
pygame.quit()
```

## 颜色 {#color}

使用 [`pygame.Color`][color] 类定义颜色。颜色可以只包含 RGB 三原色,也可以包含 RGBA,其中 A 表示透明度 alpha。每个通道的取值范围都是 `[0, 255]`

```python
red = pygame.Color(255, 0, 0)
```

另外,pygame 还提供了[命名颜色][named-colors](named colors),比如 `white``black``aqua``azure` 等常见颜色。

## 绘制图形 {#draw}

[`pygame.draw`][pygame.draw] 模块提供了绘制基本几何图形的功能。比如:

- `line(surface, color, start_pos, end_pos, width=1)` 绘制直线
- `aaline(surface, color, start_pos, end_pos)` 绘制抗锯齿的直线
- `lines(surface, color, closed, points)` 绘制折线
- `aalines(surface, color, closed, points)` 绘制抗锯齿的折线
- `rect(surface, color, rect)` 绘制矩形
- `polygon(surface, color, points)` 绘制多边形
- `circle(surface, color, center, radius)` 绘制圆形
- `ellipse(surface, color, rect)` 绘制椭圆
- `arc(surface, color, rect, start_angle, stop_angle)` 绘制椭圆圆弧,角度单位是弧度

## 加载图像 {#image}

使用 [`pygame.image.load()`][image.load] 加载图像素材。返回值是 [Surface][surface] 类型。
Expand Down Expand Up @@ -174,4 +198,7 @@ while True:
[group]: https://www.pygame.org/docs/ref/sprite.html#pygame.sprite.Group "pygame.sprite.Group"
[clock]: https://www.pygame.org/docs/ref/time.html#pygame.time.Clock "pygame.time.Clock"
[sprite-intro]: https://www.pygame.org/docs/tut/SpriteIntro.html "Sprite Module Introduction"
[surface.blit]: https://www.pygame.org/docs/ref/surface.html#pygame.Surface.blit "pygame.Surface.blit"
[surface.blit]: https://www.pygame.org/docs/ref/surface.html#pygame.Surface.blit "pygame.Surface.blit"
[color]: https://www.pygame.org/docs/ref/color.html "pygame.Color"
[named-colors]: https://www.pygame.org/docs/ref/color_list.html "Named Colors"
[pygame.draw]: https://www.pygame.org/docs/ref/draw.html "pygame.draw"
21 changes: 21 additions & 0 deletions _posts/2024-09-30-python-core-modules.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,15 +13,26 @@ date: 2024-09-30 19:07:00 +0800

### 文件和目录操作

- `os.getcwd()` 获取当前的工作目录
- `os.chdir(path)` 改变当前工作目录
- `os.listdir(path=None)` 列举当前目录下的文件列表
- `os.mkdir(path, mode=511, *, dir_fd=None)` 创建目录
- `os.makedirs(name, mode=511, exist_ok=False)` 递归创建多级目录
- `os.rmdir(path, *, dir_fd=None)` 移除空目录
- `os.remove(path, *, dir_fd=None)` 删除文件(和 `unlink()` 一样)
- `os.rename(src, dst)` 重命名文件或目录
- `os.stat(path)` 获取文件的元数据

### 路径管理

[`os.path`][os.path] 模块用于处理常见的路径操作。

- `os.path.exists(path)` 检测路径是否存在
- `os.path.join(a, *p)` 拼接多个路径片段
- `os.path.split(p)` 把路径拆解为 `(head, tail)` 元组,其中 `tail` 是最后一个斜线之后的内容
- `os.path.getsize(filename)` 返回文件大小,以字节为单位
- `os.path.isfile(path)` 判断路径是否普通文件
- `os.path.isdir(s)` 判断路径是否现存目录

```python
os.path.split('a/b/c.txt') # ('a/b', 'c.txt')
Expand Down Expand Up @@ -49,6 +60,16 @@ os.environ.get('PAGER')
- `sys.exit(status=None)` 通过抛出异常 `SystemExit(status)` 退出应用。其中的 `status` 是状态码,默认是 `0`。应用退出后,状态码可以通过 Shell 特殊变量 `$?` 获取。
- `sys.stdin``sys.stdout``sys.stderr` 表示标准输入、标准输出和错误流。
- `sys.path` 可以访问和修改 Python 模块的搜索路径。
- `sys.version` 获取 Python 解释器的版本信息。
- `sys.byteorder` 获取解释器的字节顺序

```python
sys.version
# 3.12.6 (main, Sep 7 2024, 20:50:40) [Clang 14.0.0 (clang-1400.0.29.202)]

sys.byteorder
# 'little'
```

这是一个持续更新的文档

Expand Down

0 comments on commit 6b2c24a

Please sign in to comment.