## Surface Objects(平面對象) 和窗口
Surface objects代表了一個巨型的2D圖像,這個2D圖像上的點可以通過pygame的drawing 函數來更改并展示到屏幕上。pygame上的大多數控件都是Surface objects。但是游戲的外邊框、標題欄、按鈕不是Surface objects。

尤其是,`pygame.display.set_mode()`方法返回了整個游戲最重要的 display Surface 對象。在 `pygame.display.update() `被調用后, 所有畫在display Surface 對象都會展示在窗口上。
一般情況下,我們會在游戲中畫多個不同的Surface object,當我們在游戲主循環中把所有的對象設置完成之后,就可以調用`pygame.display.update() `方法來渲染整個頁面了,這個叫游戲的一幀。我們的游戲一秒鐘可以變化30幀(30FPS),這就是幀率。

## 顏色
我們知道,顏色是由紅、綠、藍三原色組成的。不同三原色的值混合在一起,就構成了不同的顏色。在pygame中(其他很多編程語言也一樣),我們使用三個0~255整數值來代表每個原色的大小。0代表沒有這個原色,255代表這個原色的最大值。三個數字的順序代表了紅、綠、藍,這通常被成為RGB值。
由于我們可以將三個0~255點數字組合在一起代表一個顏色,pygame總共可以渲染出16,777,216(256x256x256)種顏色。比如, (0, 0, 0) 代表了黑色(類似于沒有任何光進入),(255, 255, 255) 代表了白色(三種顏色的光都進入了)。(255, 0, 0)紅、(0, 255, 0)綠、( 0, 0,255) 也是常用的顏色。

## 透明度
與我們平時畫畫的顏色不同,計算機里的顏色還可以設置一個透明度。透明度用來表示顏色在屏幕上渲染的百分比。255代表完全渲染,0代表不渲染。為了使用透明度,我們要對Surface object 調用一下`convert_alpha `方法:
`anotherSurface = DISPLAYSURF.convert_alpha()`
## pygame的Color 對象
除了使用tuple表達一個顏色之外,我們還可以使用`pygame.Color`對象來表達一個顏色。color對象的構造方法也很簡單,我們直接按如下調用即可:`myColor = pygame.Color(255, 0, 0, 128)`
下節課,我們講學習怎么使用pygame繪圖。
**阿達老師-孩子身邊的編程專家**
*完整課程請關注阿達老師,主頁里有完整的課程目錄和觀看地址*
- 空白目錄
- 8.21 做自媒體我學到了什么
- scratch技巧分享系列-調試技巧
- 8.23 論scratch的缺陷
- 9.4 孩子為什么要學編程
- 9.4 好榜樣
- 9.12 python a-z
- 開發網頁很難嗎?
- 9.14 用python識別微表情
- 9.14 todo,給孩子搭建一個自己的網站吧
- 9.16 scratch模擬臺風
- 9.17 python好文分享-列表詳解
- 9.17 臺風怎么形成的,阿達老師做給你
- 9.18 阿達老師科學課-什么是生物
- 9.18 進位加法怎么做?阿達老師用Scratch教給你
- 9.19 樹葉為什么會變黃?和阿達老師一起看下
- 9.19 用Scratch做100以內的減法
- 9.19 小草和山羊的斗智斗勇
- 9.19習大大主持開幕的人工智能大會講了啥
- 9.24 中秋節的月亮為什么那么圓
- 9.27 編程還可以寫歌?你沒看錯
- 10.10
- 10.11 用編程玩物理-什么是引力
- 10.16 jupyter使用
- 10.17 什么是火
- 1024 長度換算
- 你會疊飛機嗎
- 和孩子們一起做繪本-沙漠版小紅帽
- 一分鐘學編程系列-下雪啦
- 一分鐘學編程系列-光合作用
- 一分鐘學編程系列-掛滿禮物的圣誕樹
- 一分鐘學編程系列-太陽系里的星球(一)
- 一分鐘學編程系列-太陽系里的星球(二)
- 為什么學生不喜歡上學(二)-事實性知識的重要性
- 為什么學生不喜歡上學(三)-為什么學生能記住電視里的所有細節, 卻記不住我們告訴他的任何知識?
- 為什么學生不喜歡上學(四)- 抽象概念為什么這么難
- 一分鐘學編程計劃-圣誕節的禮物派對
- 一分鐘學編程系列-火星營救(一)
- 為什么孩子不喜歡上學(五)- 題海戰術有用嗎
- 為什么孩子不喜歡上學(六)- 思考的秘訣是什么