Python程序設(shè)計教學(xué)課件(共22章)第21章-Pygame游戲編程_第1頁
Python程序設(shè)計教學(xué)課件(共22章)第21章-Pygame游戲編程_第2頁
Python程序設(shè)計教學(xué)課件(共22章)第21章-Pygame游戲編程_第3頁
Python程序設(shè)計教學(xué)課件(共22章)第21章-Pygame游戲編程_第4頁
Python程序設(shè)計教學(xué)課件(共22章)第21章-Pygame游戲編程_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論