中文字幕精品无码一区二区,成全视频在线播放观看方法,大伊人青草狠狠久久,亚洲一区影音先锋色资源

Python少兒趣味編程《第15課-Pygame基礎(chǔ)》課件(共19張PPT)

資源下載
  1. 二一教育資源

Python少兒趣味編程《第15課-Pygame基礎(chǔ)》課件(共19張PPT)

資源簡(jiǎn)介

(共19張PPT)
第15課 Pygame基礎(chǔ)
什么是Pygame
Pygame是Python的一個(gè)模塊,它提供了用圖形化用戶(hù)界面(Graphical User Interface,GUI)來(lái)創(chuàng)建游戲的功能。
Pygame的安裝
安裝Pygame 需要用到pip 工具。pip 是一個(gè)安裝和管理Python 包的工具。
如果Python 安裝在了C:\Users\用戶(hù)名\AppData\Local\Programs\Python 目錄,那么pip 工具就安裝在了C:\Users\用戶(hù)\AppData\Local\Programs\Python\Python37-32\Scripts目錄下。
在命令行輸入“python –m pip install –U pygame --user”,按下回車(chē)鍵后,就可以進(jìn)行安裝Pygame。
要確保環(huán)境變量Path的之中,添加了“C:\Users\用戶(hù)名AppData\Local\Programs\Python\Python37-32\Scripts”,否則會(huì)找不到pip命令。
Pygame 窗口
使用Pygame繪圖,需要建立一個(gè)窗口。
import pygame
pygame.init()
windowSurface=pygame.display.set_mode([500,400])
Running=True
while Running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
Running =False
pygame.quit()
Surface對(duì)象是表示一個(gè)矩形2D圖像的對(duì)象。我們可以通過(guò)調(diào)用Pygame 繪制函數(shù),來(lái)改變Surface 對(duì)象的像素,然后再顯示到屏幕上。
注意,pygame.display.set_mode()返回的Surface對(duì)象叫作顯示Surface(display Surface)。當(dāng)調(diào)用pygame.display.update()函數(shù)的時(shí)候,之前繪制到顯示Surface 對(duì)象上的任何內(nèi)容,都會(huì)顯示到窗口上。
Pygame 的坐標(biāo)系和顏色
在海龜繪圖中,原點(diǎn)位于屏幕的中心,越向屏幕右方,x坐標(biāo)越大,越向屏幕上方,y坐標(biāo)越大。
Pygame則使用一種新的坐標(biāo)系。Pygame窗口的左上角是原點(diǎn)(0, 0)。隨著我們向右移動(dòng),x坐標(biāo)還是變得越來(lái)越大,但是,x坐標(biāo)沒(méi)有負(fù)值。隨著向下移動(dòng),y 坐標(biāo)的值逐漸增加,y 坐標(biāo)也沒(méi)有負(fù)值。
顏色用元組表示,并且用常量保存。
BLACK=(0,0,0)
WHITE=(255,255,255)
GREEN=(0,255,0)
BLUE=(0,0,255)
RED=(255,0,0)
繪圖函數(shù)
pygame.draw.line()函數(shù)
該函數(shù)繪制線(xiàn)段,有5個(gè)參數(shù):
待顯示的Surface 對(duì)象;
畫(huà)筆的顏色
起始位置坐標(biāo);
結(jié)束位置坐標(biāo);
線(xiàn)條粗細(xì)。
可以用它繪制一個(gè)字母H。參見(jiàn)程序清單15.3.py。
繪圖函數(shù)
pygame.draw.rect()函數(shù)
該函數(shù)繪制矩形,有4個(gè)參數(shù):
待顯示的Surface 對(duì)象;
畫(huà)筆的顏色;
4 個(gè)整數(shù)的一個(gè)元組(分別表示左上角的X坐標(biāo)和Y坐標(biāo),以及寬度和高度);
線(xiàn)條粗細(xì),如果是0,表示矩形是填充的。
可以用它繪制一個(gè)紅色的矩形。參見(jiàn)程序清單15.4.py。
繪圖函數(shù)
pygame.draw.circle()函數(shù)
該函數(shù)繪制圓形,有5個(gè)參數(shù):
待顯示的Surface 對(duì)象;
畫(huà)筆的顏色;
要繪制的圓的圓心坐標(biāo);
要繪制的圓的半徑;
線(xiàn)條粗細(xì),如果是0,表示圓形是填充的。
可以用它繪制一個(gè)紅色的矩形。參見(jiàn)程序清單15.5.py。
繪圖函數(shù)
pygame.draw.polygon()函數(shù)
該函數(shù)繪制多邊形,有4個(gè)參數(shù):
待顯示的Surface 對(duì)象;
畫(huà)筆的顏色;
坐標(biāo)列表。多邊形的多條邊是通過(guò)在每個(gè)坐標(biāo)點(diǎn)以及其后續(xù)的坐標(biāo)點(diǎn)之間依次繪制線(xiàn)條,然后,從最后的點(diǎn)到第一個(gè)點(diǎn)繪制線(xiàn)條而形成的。
線(xiàn)條粗細(xì),如果是0 或者不填寫(xiě),表示多邊形是填充的。
可以用它繪制一個(gè)紅色的矩形。參見(jiàn)程序清單15.6.py。
繪圖函數(shù)
pygame.draw.ellipse()函數(shù)
該函數(shù)繪制橢圓形,有4個(gè)參數(shù):
待顯示的Surface 對(duì)象;
畫(huà)筆的顏色;
邊界矩形(bounding rectangle),就是圍繞這一個(gè)形狀所能繪制的最小的
矩形。參數(shù)可以是一個(gè)pygame.Rect 對(duì)象或者是4個(gè)整數(shù)的一個(gè)元組;
線(xiàn)條粗細(xì)。
可以用它繪制一個(gè)紅色的矩形。參見(jiàn)程序清單15.7.py。
動(dòng)畫(huà)
加載圖片
在Pygame中,可以通過(guò)調(diào)用image()函數(shù)操作圖片。
要把要加載的照片復(fù)制到和保存Python程序相同的位置。這樣,程序運(yùn)行時(shí)Python就能很方便地找到這個(gè)文件,而不需要指定圖片存儲(chǔ)的路徑。
參見(jiàn)程序清單15.9.py。
動(dòng)畫(huà)
移動(dòng)起來(lái)
在游戲循環(huán)中,更新圖片的坐標(biāo)位置,然后每次執(zhí)行循環(huán)的時(shí)候在新的位置繪制圖片,這樣一來(lái),看上去就好像小狗在移動(dòng)一樣。
參見(jiàn)程序清單15.10.py。
去掉軌跡
在每次復(fù)制圖像之前,都調(diào)用一次screen.fi ll()函數(shù),來(lái)填充要繪制的屏幕。
參見(jiàn)程序清單15.11.py。
動(dòng)畫(huà)
碰撞檢測(cè)
碰撞檢測(cè)(collision detection)負(fù)責(zé)檢查并處理計(jì)算屏幕上的兩個(gè)物體發(fā)生彼此接觸(也就是發(fā)生碰撞)的情況。
當(dāng)檢測(cè)到小狗碰到了這個(gè)邊界,就改變它的移動(dòng)方向,讓它掉頭往回跑。
參見(jiàn)程序清單15.12.py。
動(dòng)畫(huà)
設(shè)置幀速率
幀速率(frame rate)是指程序每秒鐘繪制的圖像的數(shù)目,用每秒多少幀(Frames Per Second,F(xiàn)PS)來(lái)度量。
Pygame.time模塊中的Clock對(duì)象可以幫助避免程序運(yùn)行得過(guò)快。
Clock對(duì)象有一個(gè)tick()方法,它接收的參數(shù)表示想要游戲運(yùn)行速度是多少FPS。
參見(jiàn)程序清單15.13.py。
字體
字體(font)是字體類(lèi)型的一種描述,表示按照統(tǒng)一風(fēng)格繪制的一整套的字母、數(shù)字、符號(hào)和字符,例如SimHei和Times New Roman都是字體。
調(diào)用pygame.font.SysFont函數(shù)來(lái)創(chuàng)建一個(gè)Font對(duì)象,這個(gè)函數(shù)有兩個(gè)參數(shù),第1個(gè)參數(shù)是字體名稱(chēng),第2個(gè)參數(shù)是字體大小(以點(diǎn)為單位)。
參見(jiàn)程序清單15.14.py。
事件
當(dāng)用戶(hù)做了諸如按下一個(gè)按鍵或者移動(dòng)鼠標(biāo)等動(dòng)作,Pygame庫(kù)都會(huì)創(chuàng)建一個(gè)Pygame.event.Event 對(duì)象來(lái)記錄這個(gè)
動(dòng)作,這就是“事件”
鍵盤(pán)事件
按下某個(gè)鍵盤(pán)的事件就是KEYDOWN,釋放某個(gè)鍵盤(pán)的事件就是KEYUP。
對(duì)前面的示例稍作修改,以便可以通過(guò)方向鍵來(lái)移動(dòng)文本“HelloWorld !”,還可以通過(guò)Esc 鍵來(lái)關(guān)閉窗口。
參見(jiàn)程序清單15.15.py。
事件
鼠標(biāo)事件
Pygame中,當(dāng)在窗口中按下鼠標(biāo)時(shí)會(huì)觸發(fā)
MOUSEBUTTONDOWN事件,當(dāng)釋放鼠標(biāo)時(shí)會(huì)觸發(fā)MOUSEBUTTONUP事件,當(dāng)鼠標(biāo)移動(dòng)經(jīng)過(guò)窗口時(shí)會(huì)觸發(fā)MOUSEMOTION事件。
一個(gè)示例——如果用戶(hù)點(diǎn)擊鼠標(biāo)左鍵,就會(huì)在點(diǎn)擊的地方畫(huà)一個(gè)黃色的小圓點(diǎn),如果點(diǎn)擊鼠標(biāo)右鍵,就會(huì)清空屏幕。
參見(jiàn)程序清單15.16.py。
聲音
在游戲中,我們常常需要通過(guò)背景音樂(lè)來(lái)烘托一種氛圍,或者通過(guò)某種音效來(lái)表達(dá)一種游戲狀態(tài)。
通過(guò)調(diào)用pygame.mixer.Sound()構(gòu)造函數(shù),來(lái)創(chuàng)建一個(gè)pygame.mixer.Sound 對(duì)象。它接受一個(gè)字符串參數(shù),這個(gè)字符串就是聲音文件的文件名。
Pygame可以加載WAV、MP3或OGG等類(lèi)型的聲音文件。
要播放聲音,調(diào)用Sound對(duì)象的play()方法。如果想要立即停止Sound對(duì)象的播放,調(diào)用stop() 方法。stop() 方法沒(méi)有參數(shù)。
參見(jiàn)程序清單15.17.py。
彈球游戲
綜合前面介紹的Pygame基礎(chǔ)編程功能,
開(kāi)發(fā)一個(gè)簡(jiǎn)單的彈球游戲。
鼠標(biāo)事件——移動(dòng)鼠標(biāo)來(lái)控制擋板,從而反彈彈球得分。
鍵盤(pán)事件——當(dāng)一次游戲結(jié)束,如果還想玩游戲,可以點(diǎn)擊F1按鍵,重新開(kāi)始游戲。
圖像和字體——生命數(shù)和得分都會(huì)顯示在窗口的頂部。
音樂(lè)——這款游戲有背景音樂(lè)。
參見(jiàn)程序清單15.18.py。
練習(xí)
1.使用Pygame,創(chuàng)建一個(gè)新的窗口,以白色作為窗體背景,并且在窗
口中繪制一個(gè)粉色(RGB值為255,192,203)的橢圓形。
2.使用Pygame,創(chuàng)建一個(gè)新的窗口,以黑色作為窗體背景,將你的名
字以白色顯示在窗口,并且當(dāng)點(diǎn)擊鼠標(biāo)的時(shí)候,名字可以隨著鼠標(biāo)移動(dòng)。

展開(kāi)更多......

收起↑

資源預(yù)覽

<pre id="tfb94"><li id="tfb94"></li></pre>

<bdo id="tfb94"><rt id="tfb94"></rt></bdo>
  • <menu id="tfb94"><dl id="tfb94"></dl></menu><i id="tfb94"><acronym id="tfb94"><sub id="tfb94"></sub></acronym></i>

    1. 主站蜘蛛池模板: 昌宁县| 奉贤区| 蒲城县| 怀远县| 海伦市| 盐源县| 邢台市| 冷水江市| 信宜市| 望都县| 阿巴嘎旗| 溧阳市| 长岭县| 黎城县| 景泰县| 玉门市| 金沙县| 营口市| 新营市| 安岳县| 新巴尔虎左旗| 荣昌县| 武宁县| 连山| 乐陵市| 安顺市| 武威市| 宽城| 信丰县| 金堂县| 南雄市| 重庆市| 千阳县| 筠连县| 南溪县| 松阳县| 西和县| 上犹县| 阿拉尔市| 石台县| 屏东县|