今天就跟大家聊聊有關(guān)怎樣用Python進(jìn)行圖形用戶界面及游戲開發(fā),可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
基于tkinter模塊的GUI
GUI是圖形用戶界面的縮寫,圖形化的用戶界面對使用過計(jì)算機(jī)的人來說應(yīng)該都不陌生,在此也無需進(jìn)行贅述。Python默認(rèn)的GUI開發(fā)模塊是tkinter(在Python3以前的版本中名為Tkinter),從這個(gè)名字就可以看出它是基于Tk的,Tk是一個(gè)工具包,最初是為Tcl設(shè)計(jì)的,后來被移植到很多其他的腳本語言中,它提供了跨平臺的GUI控件。當(dāng)然Tk并不是新和好的選擇,也沒有功能特別強(qiáng)大的GUI控件,事實(shí)上,開發(fā)GUI應(yīng)用并不是Python最擅長的工作,如果真的需要使用Python開發(fā)GUI應(yīng)用,wxPython、PyQt、PyGTK等模塊都是不錯(cuò)的選擇。
基本上使用tkinter來開發(fā)GUI應(yīng)用需要以下5個(gè)步驟:
導(dǎo)入tkinter模塊中我們需要的東西。
創(chuàng)建一個(gè)頂層窗口對象并用它來承載整個(gè)GUI應(yīng)用。
在頂層窗口對象上添加GUI組件。
通過代碼將這些GUI組件的功能組織起來。
進(jìn)入主事件循環(huán)(mainloop)。
需要說明的是,GUI應(yīng)用通常是事件驅(qū)動(dòng)式的,之所以要進(jìn)入主事件循環(huán)就是要監(jiān)聽鼠標(biāo)、鍵盤等各種事件的發(fā)生并執(zhí)行對應(yīng)的代碼對事件進(jìn)行處理,因?yàn)槭录掷m(xù)的發(fā)生,所以需要這樣的一個(gè)循環(huán)一直運(yùn)行著等待下一個(gè)事件的發(fā)生。另一方面,Tk為控件的擺放提供了三種布局管理器,通過布局管理器可以對控件進(jìn)行定位,這三種布局管理器分別是:Placer(開發(fā)者提供控件的大小和擺放位置)、Packer(自動(dòng)將控件填充到合適的位置)和Grid(基于網(wǎng)格坐標(biāo)來擺放控件),此處不進(jìn)行贅述。
Pygame是一個(gè)開源的Python模塊,專門用于多媒體應(yīng)用(如電子游戲)的開發(fā),其中包含對圖像、聲音、視頻、事件、碰撞等的支持。Pygame建立在SDL的基礎(chǔ)上,SDL是一套跨平臺的多媒體開發(fā)庫,用C語言實(shí)現(xiàn),被廣泛的應(yīng)用于游戲、模擬器、播放器等的開發(fā)。而Pygame讓游戲開發(fā)者不再被底層語言束縛,可以更多的關(guān)注游戲的功能和邏輯。
下面我們來完成一個(gè)簡單的小游戲,游戲的名字叫“大球吃小球”,當(dāng)然完成這個(gè)游戲并不是重點(diǎn),學(xué)會使用Pygame也不是重點(diǎn),最重要的我們要在這個(gè)過程中體會如何使用前面講解的面向?qū)ο蟪绦蛟O(shè)計(jì),學(xué)會用這種編程思想去解決現(xiàn)實(shí)中的問題。
可以通過pygame中draw模塊的函數(shù)在窗口上繪圖,可以繪制的圖形包括:線條、矩形、多邊形、圓、橢圓、圓弧等。需要說明的是,屏幕坐標(biāo)系是將屏幕左上角設(shè)置為坐標(biāo)原點(diǎn)(0,0),向右是x軸的正向,向下是y軸的正向,在表示位置或者設(shè)置尺寸的時(shí)候,我們默認(rèn)的單位都是像素。所謂像素就是屏幕上的一個(gè)點(diǎn),你可以用瀏覽圖片的軟件試著將一張圖片放大若干倍,就可以看到這些點(diǎn)。pygame中表示顏色用的是色光三原色表示法,即通過一個(gè)元組或列表來指定顏色的RGB值,每個(gè)值都在0~255之間,因?yàn)槭敲糠N原色都用一個(gè)8位(bit)的值來表示,三種顏色相當(dāng)于一共由24位構(gòu)成,這也就是常說的“24位顏色表示法”。
看完上述內(nèi)容,你們對怎樣用Python進(jìn)行圖形用戶界面及游戲開發(fā)有進(jìn)一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。
網(wǎng)站標(biāo)題:怎樣用Python進(jìn)行圖形用戶界面及游戲開發(fā)-創(chuàng)新互聯(lián)
本文網(wǎng)址:http://m.kartarina.com/article18/ccipgp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站、Google、品牌網(wǎng)站制作、外貿(mào)建站、網(wǎng)站導(dǎo)航、微信小程序
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容