什么是pygame?怎樣安裝使用?
什么是pygame?怎樣安裝使用?
pygame是為開(kāi)發(fā)2D游戲而設(shè)計(jì)的Python跨平臺(tái)模塊,開(kāi)發(fā)人員利用pygame模塊中定義的接口,可以方便快捷地實(shí)現(xiàn)諸如圖形用戶界面創(chuàng)建、圖形和圖像的繪制、用戶鍵盤(pán)和鼠標(biāo)操作的監(jiān)聽(tīng)以及播放音頻等游戲中常用的功能。 pygame是第三方模塊,若要成功運(yùn)行導(dǎo)入了pygame模塊的程序,必須先在開(kāi)發(fā)環(huán)境中安裝pygame。
打開(kāi)命令行窗口,使用pip工具向系統(tǒng)中安裝pygame模塊,具體命令如下: 當(dāng)命令行窗口中出現(xiàn)如下字樣時(shí),說(shuō)明pygame模塊安裝成功。
利用pygame模塊開(kāi)發(fā)游戲時(shí),pygame一般負(fù)責(zé)游戲圖形界面的繪制和框架的搭建。后續(xù)我們會(huì)介紹pygame的基本用法。
怎么用python3.5做游戲?
你有三種方向:1.你可以做一些命令行游戲,但估計(jì)你不會(huì)喜歡。2.使用tk,tk是Python自帶的一個(gè)圖形庫(kù),可以為你形成圖形界面。
3.使用pygame,pygame相比于tk更適合游戲開(kāi)發(fā),但必須額外去下載,所以把你的pygame游戲帶到別的電腦上就得重新安裝模塊,比較麻煩。
以上方法應(yīng)需自取。
python能開(kāi)發(fā)游戲嗎?
能,但不適合。用錘子能造汽車嗎? 誰(shuí)也沒(méi)法說(shuō)不能吧?歷史上也確實(shí)曾經(jīng)有些汽車百科,是用錘子造出來(lái)的。
但一般來(lái)說(shuō),還是用工業(yè)機(jī)器人更合適對(duì)嗎?比較大型的,使用Python的游戲有兩個(gè),一個(gè)是《EVE》,還有一個(gè)是《文明》。
但這僅僅是個(gè)例,沒(méi)有廣泛意義。一般來(lái)說(shuō),用來(lái)做游戲的語(yǔ)言,有兩種。一是C++。Python理論上,不僅不適合做游戲,而是只要大型的程序,都不適合。
只適合寫(xiě)比較小型的東西,比如一個(gè)計(jì)算器,一個(gè)爬蟲(chóng)等。主要有2個(gè)方面,一是速度慢,二是語(yǔ)法缺陷。也許你一定覺(jué)得,Python的語(yǔ)法又干凈,又優(yōu)雅,怎么還有缺陷?但仔細(xì)想想,為什么別的語(yǔ)言沒(méi)有這么干凈?沒(méi)有這么優(yōu)雅?明明可以直接a=123 干嘛非要寫(xiě)成 int a=123;呢?難道是其他語(yǔ)言的設(shè)計(jì)者,都有強(qiáng)迫癥嗎?道理很簡(jiǎn)單,有得必有失。
如果數(shù)據(jù)類型,只有字符串和數(shù)字,省略掉聲明變量的過(guò)程,當(dāng)然不是問(wèn)題。但只要邏輯一復(fù)雜,情況就完全不同了。游戲中,你用C#或C++寫(xiě)起來(lái),大概會(huì)是這樣。技能 a=xxxx;武器 b=xxxx;角色 c=xxxx;*水 d=xxxx;音樂(lè) e=xxxx;而Python呢?大概是這個(gè)樣子a=xxxxb=xxxxc=xxxxd=xxxx如果你的代碼很少,顯然是Python比較方便。但如果你創(chuàng)建幾百個(gè)對(duì)象,代碼超過(guò)1萬(wàn)行。
寫(xiě)到幾千行的時(shí)候,遇到一個(gè)叫x的對(duì)象,你還知道它到底是個(gè)啥嗎?是一把武器?還是一瓶*水?還是一張圖片?一段音頻?一盞燈光?一座房子?不要以為1萬(wàn)行代碼很多。1萬(wàn)行連個(gè)《斗地主》都寫(xiě)不完。
用Python寫(xiě)大程序的感覺(jué)就是,當(dāng)你**天,只寫(xiě)了50行代碼,創(chuàng)建了3個(gè)類,5個(gè)對(duì)象。你會(huì)覺(jué)得太爽了,這**是世界上**的語(yǔ)言。第二天,你又創(chuàng)建了2個(gè)類,5個(gè)對(duì)象的時(shí)候,就覺(jué)得有點(diǎn)暈暈的了。第三天,又創(chuàng)建了2個(gè)類之后,你會(huì)發(fā)現(xiàn)自己必須非常仔細(xì)的看一遍注釋,否則就不會(huì)寫(xiě)了。
第四天,你一整天都在看注釋。
這就是動(dòng)態(tài)語(yǔ)言的劣根性。一開(kāi)始代碼量少,看不出任何缺點(diǎn),各種省事,各種爽。代碼量越多,腦子越亂。
一般500行以上,效率就會(huì)被JAVA,C#之類的語(yǔ)言反超。1000行,就必須要各種加注釋才能看懂了。
2000行,注釋比代碼還多了。5000行,注釋已經(jīng)完全不管用了,自己根本看不懂自己的代碼,需要準(zhǔn)備棄坑了。
我最近對(duì)游戲編程很有意思我想問(wèn)一下用python與pygame可以做到什么程度,是只能做那種比較低端的游戲么。
pygame不是做頁(yè)游的,要做網(wǎng)游也不能只用pygame。pygame可以用來(lái)做2d的游戲。
要用python做3d的游戲的話,有panda和blender,另外ogre也有python的api。
至于游戲低端不低端,我感覺(jué)主要是游戲設(shè)計(jì)決定的,不論用多么好的引擎、多么好的材質(zhì)做一個(gè)shoot\’em up的游戲,都不會(huì)給人高端的感覺(jué)吧。