# Pygame 教學
講者:林龍成
---
## 安裝 Pygame 套件
> 我們可以通過 pip 來安裝
---
### 什麼是 pip?
> pip 就是 python 內建的 "套件安裝跟管理的工具"
---
> 只要在 "小黑" 打上 pip 就可以了
> 因為我們今天是要 安裝套件
> 所以我們可以打
```t
pip install pygame
```
---
以此類推 假如我們今天 要裝其他 python 的套件
打上 `pip install XXX` 就可以了
---
## 做遊戲之前必須具備的觀念
---
- 遊戲的畫面是由 "渲染" 來的
- 遊戲的畫面是由 一張一張圖片 快速串連起來的
- 遊戲的畫面是由 一層一層疊上去的
---

---
### 我們就可以把 遊戲設計的流程簡化為
---
思考遊戲規則 > 主畫面設計 > 每個元件的功能設計 > 各個元件的互動 > 遊戲整體優化
---
## 認識 Pygame 的初始化
---
首先 透過下面語法啟動套件
```python=1
pygame.init()
```
---
接下來 要設定遊戲視窗的大小和視窗標題
``` python=1
screen = pygame.display.set_mode(800*600)
pygame.display.set_caption("這是視窗標題")
```
---
## Pygame 中的重要模組
---
### 方法類
- pygame.display
> 有關主視窗的 也可以說是最基本ㄉ 遊戲沒有主視窗怎麼跑
常用功能:
- .setmode() 設定大小
- .display.update() 更新畫面
- .set_caption() 設定標題
---
### 方法類
- pygame.Surface
> 就是我們前面說的 "圖層" 的概念 這裡面有很多跟圖層有關的方法
- pygame.rect
> 用來偵測碰撞的
---
### 方法類
- pygame.draw
> 用來在 Surface 上畫畫的
- pygame.image
> 用來管理圖片 例如 圖片ㄉ載入等等
---
### 方法類
- pygame.font
> 跟字體有關的
常用功能:
- render(文字,平滑值,文字顏色,背景顏色)
- pygame.time / pygame.mixer / pygame.sound / pygame.transform
---
### 物件類
- Surface 物件
>其實就是圖層 很多功能都是在圖層上操作或是會返回一個圖層給你
常用功能:
- .blit(畫布變數,繪製位置)
- .get_size()
---
### 物件類
- pygame.sprite.Sprite
> 這是pygame裡面幫腳色寫好的一個類別 如果要建立腳色 都會需要繼承這個類別
---
## Pygame - Hello_World!
---
## 謝謝大家

#### 麻煩大家幫忙填一下回饋量表~

#### android 專案課程參與意願調查
---
{"metaMigratedAt":"2023-06-15T14:05:02.806Z","metaMigratedFrom":"YAML","title":"Pygame 簡報","breaks":true,"slideOptions":"{\"theme\":\"black\",\"transition\":\"convex\"}","contributors":"[{\"id\":\"d4bbbd6b-406f-43aa-985c-5853f75abf1d\",\"add\":2553,\"del\":896}]"}