




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第21章Pygame游戲編程Python非常受歡迎的一個原因是它的應(yīng)用領(lǐng)域非常廣泛,其中就包括游戲開發(fā)。使用Pyhon進(jìn)行游戲開發(fā),首選使用Pygame模塊。它可以在Python程序中創(chuàng)建功能豐富的游戲和多媒體程序。同時,它還是一個高可移植性的模塊,可以支持多個操作系統(tǒng),非常適合開發(fā)小游戲。本章將對Pygame進(jìn)行介紹。21.2Pygame的基本使用Pygame提供的眾多模塊,不同的模塊實現(xiàn)不同的功能。21.2.1游戲窗口在Pygame中,游戲的所有畫面都是在一個固定的區(qū)域中進(jìn)行。游戲的所有的動作都不能超過這個范圍。在程序運行中,這個范圍一般被稱為程序的“窗口”。1.創(chuàng)建窗口可以用來創(chuàng)建并顯示指定大小的窗口。display模塊的set_mode()方法display.set_mode(resolution,flags=0,depth=0)2.設(shè)置窗口標(biāo)題可以為窗口設(shè)置標(biāo)題。display模塊的set_caption()方法pygame.display.set_caption(title)3.窗口背景色可以將背景顏色設(shè)置為想要的顏色。窗口Surface對象的fill()方法Surface.fill(color)21.2.2游戲圖片游戲往往離不開圖片的存在。在游戲中使用圖片,需要將事先準(zhǔn)備好的圖片加載到窗口中,然后就可以移動圖片,使其在窗口中來回移動。1.加載圖片加載圖片是指將一張圖片添加到窗口中,添加時也可以指定位置。image模塊提供了load()方法pygame.image.load(path)將圖片放在窗口Surface對象中surface.blit(source,(x,y),rect)2.移動圖片可以讓窗口中的圖片進(jìn)行移動。圖片Surface對象的get_rect()方法對象的move()方法進(jìn)行移動Rect.move(x,y)返回一個Rect對象21.2.3幀速率幀速率是指程序每秒在屏幕中繪制圖像的數(shù)目。Clock()方法創(chuàng)建一個“時鐘”對象pygame.time.Clock()21.2.4圖形繪制可以在窗口Surface對象中繪制一些簡單的圖形,如點、直線、矩形、圓、弧等。1.繪制矩形pygame.draw.rect()方法pygame.draw.rect(Surface,color,Rect,width=0)2.繪制圓形pygame.draw.circle()方法pygame.draw.circle(Surface,color,pos,radius,width=0)3.繪制多邊形pygame.draw.polygon()方法pygame.draw.polygon(Surface,color,pointlist,width=0)4.繪制橢圓pygame.draw.ellipse()方法pygame.draw.ellipse(Surface,color,Rect,width=0)5.繪制弧線pygame.draw.arc()方法pygame.draw.arc(Surface,color,Rect,start_angle,stop_angle,width=1)6.繪制線段pygame.draw.line()方法pygame.draw.line(Surface,color,start_pos,end_pos,width)7.繪制折線pygame.draw.lines()方法pygame.draw.lines(Surface,color,closed,pointlist,width=1)21.2.5繪制文本信息窗口Surface對象中繪制文本信息的功能。pygame.font.SysFont()方法創(chuàng)建一個字體對象FontFont=pygame.font.SysFont(filename,size,bold=False,italic=False)在窗口Surface對象中進(jìn)行繪制Font.render(text,antialias,color,background=None)21.2.6播放音頻一個豐富的游戲不僅需要有圖片、還需要有好聽的音樂。加載音樂文件對音樂文件進(jìn)行播放pygame.mixer.music.load(filename)pygame.mixer.music.play(loops=0,start=0.0)21.2.7事件監(jiān)聽所謂的“事件”是指計算機(jī)能知道發(fā)生了什么,例如,單擊按鈕,就是一個單擊事件。event模塊方法名作用pygame.event.pump()讓Pygame內(nèi)部自動處理事件pygame.event.get()從隊列中獲取事件pygame.event.poll()從隊列中獲取一個事件pygame.event.wait()等待并從隊列中獲取一個事件pygame.event.peek()檢測某類型事件是否在隊列中pygame.event.clear()從隊列中刪除所有的事件pygame.event.event_name()通過id獲得該事件的字符串名字pygame.event.set_blocked()控制哪些事件禁止進(jìn)入隊列pygame.event.set_allowed()控制哪些事件允許進(jìn)入隊列pygame.event.get_blocked()檢測某一類型的事件是否被禁止進(jìn)入隊列pygame.event.set_grab()控制輸入設(shè)備與其他應(yīng)用程序的共享pygame.event.get_grab()檢測程序是否共享輸入設(shè)備pygame.event.post()放置一個新的事件到隊列中pygame.event.Event()創(chuàng)建一個新的事件對象pygame.event.EventType代表SDL事件的Pygame對象event模塊常用方法及作用1.關(guān)閉事件要實現(xiàn)游戲窗口的關(guān)閉。pygame.event.get()方法事件類型作用QUIT按下關(guān)閉按鈕ACTIVEEVENTPygame被激活KEYDOWN鍵盤被按下KEYUP鍵盤被放開MOUSEMOTION鼠標(biāo)移動MOUSEBUTTONUP鼠標(biāo)放開MOUSEBUTTONDOWN鼠標(biāo)按下JOYAXISMOTION游戲手柄移動JOYBALLMOTION游戲球移動JOYBUTTONDOWN游戲手柄按下JO
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 汽車維修項目可行性研究報告
- 康養(yǎng)項目可研究性報告
- 休閑娛樂場所拆舊協(xié)議
- 交通建設(shè)項目可行性研究報告編制辦法
- 農(nóng)業(yè)行業(yè)農(nóng)產(chǎn)品溯源與農(nóng)技服務(wù)系統(tǒng)方案
- 物聯(lián)網(wǎng)智能家居系統(tǒng)
- 咖啡廳品牌傳播與推廣預(yù)案
- 太陽能光伏地面電站
- 傳媒行業(yè)融媒體運營與內(nèi)容創(chuàng)新方案
- 婦科腫瘤簡答題復(fù)習(xí)測試卷含答案
- 無人機(jī)快遞技術(shù)-無人機(jī)的操作
- 智慧工地及智慧工地整體方案
- 工作指導(dǎo)手冊
- 電梯重大活動應(yīng)急預(yù)案
- 中國城市區(qū)域劃分表(超實用)
- 人教版高中地理必修一 (海水的性質(zhì))課件教學(xué)
- 北京十大景點英文介紹課件
- 2019北師大版五年級數(shù)學(xué)下冊教材分析講義課件
- 更換備胎課件
- 2、3的加法課件-學(xué)前班用
- 起重機(jī)械安全風(fēng)險管控清單模板
評論
0/150
提交評論