https://pan.baidu.com/s/1-jcxi_rv5-obiGDrgDG6Qw?pwd=b57e
嗯,這是我小時第一個學會的遊戲加了點料轉成py....誰能說這沒有GUI的不是遊戲!
不過還是由https://tieba.baidu.com/p/8898716003的![](http://tiebapic.baidu.com/forum/w%3D580/sign=5483611a0f540923aa696376a258d1dc/8c61233fb80e7bec8dd59cd8692eb9389b506b59.jpg?tbpicau=2024-09-17-05_85c7c7bd3942b5ef3332f9909cd93504)
![](http://tiebapic.baidu.com/forum/w%3D580/sign=ba2162f585cec3fd8b3ea77de688d4b6/06be9e82d158ccbf6fb22a035fd8bc3eb1354159.jpg?tbpicau=2024-09-17-05_87afdf5a20e7cdea4302a83d7a8c5fb7)
說起吧.......涂了的是跟圖1重了的,省得干擾....
https://pan.baidu.com/s/1TdwleIzie1TbVw64ouFR7g?pwd=4dkr 刪掉多的也有這段......
首先.....還是說import 吧....這是把一個模組引入的意思....就跟你把快遞開箱來用差不多...
下面pygame.init()就是把pygame中很多東西..我也沒搞懂是初始化還是喚醒....總之有一堆功能要init()後才能用...pygame.init()一次就全準備好了....不過你也可以分開init()只叫用的....
win=pygame.display.get_desktop_sizes()[0] 這是拿到屏幕的數據了,不過有很多我只要list中的第一組....
ww=win[0]把前面的win斬成兩個變數...
wh=win[1]
screen = pygame.display.set_mode((ww/4*3,wh/4*3),pygame.NOFRAME)這行的 pygame.display.set_mode是
整個GUI,整個程序我應為最重要的code,沒有之一......這就是打開一個叫screen的視窗,沒了display就沒有視窗,
(ww/4*3,wh/4*3)定義了視窗大小,pygame.NOFRAME只是把正常視窗上面討厭的程序名,X鍵關了,可以刪的這一
個位有很多功能例如全屏,視窗大小可調整跟其他不知幹甚麼的...自己去pygame官網看....當想用複數功能時就用
+加起來例如pygame.FULLSCREEN+pygame.NOFRAME+pygame.RESIZABLE不過沒人會這樣做......
clock = pygame.time.Clock() 這我只知道後面clock.tick(x)一秒多少幀畫面要用....至於時間....我一向用datetime....
fontlist把pygame讀到的字型列表了....font=pygame.font.SysFont(fontlist[27],12)就是在系統字型中拉了第28種(我
的機的....)來用,大小是12....
map = pygame.Surface((48,48*6)) 後面改成mapt的是一個只存在在記憶體中的畫面()中是像素的面積,除了這種因
為生氣隨手打的垃圾程式,沒人會叫電腦這時候算48*6之類的......早算好這填數字就好....更別說後面那些「圖」了
mapt.fill((255,255,255))給mapt這圖填滿(255,255,255)的顏色....也就是白色..相關看RGB色的東西
maptstr = font.render('平地',True,(0,0,0),(128,128,0)) 做出'平地'這字串,True我不知道用途,兩組()分別是文字色跟底色
strpos = maptstr.get_rect() 叫出文字位置
strpos.center = 24,24 重定義文字的中心位置...這堆dir()就知道了...
mapt.blit(maptstr,strpos) 把strpos改成(123,456)那maptstr位置會到了(123,456)而不是strpos...
blit很重要....你準備了字跟圖...記得要用blit貼到圖/視窗上......
screen.blit(mapt,(0,0)) 相比前面mapt把maptstr貼到strpos,這就是screen把mapt貼到(0,0)了...
screen.blit(me,(70,0))
pygame.display.flip()把視窗更新了......不然你怎麼畫,視窗都沒反應喲......
其他的.....我沒吃透,就知道想正常關視窗要有pygame.QUIT那塊,不然退出時會報錯......
嗯,這是我小時第一個學會的遊戲加了點料轉成py....誰能說這沒有GUI的不是遊戲!
不過還是由https://tieba.baidu.com/p/8898716003的
![](http://tiebapic.baidu.com/forum/w%3D580/sign=5483611a0f540923aa696376a258d1dc/8c61233fb80e7bec8dd59cd8692eb9389b506b59.jpg?tbpicau=2024-09-17-05_85c7c7bd3942b5ef3332f9909cd93504)
![](http://tiebapic.baidu.com/forum/w%3D580/sign=ba2162f585cec3fd8b3ea77de688d4b6/06be9e82d158ccbf6fb22a035fd8bc3eb1354159.jpg?tbpicau=2024-09-17-05_87afdf5a20e7cdea4302a83d7a8c5fb7)
說起吧.......涂了的是跟圖1重了的,省得干擾....
https://pan.baidu.com/s/1TdwleIzie1TbVw64ouFR7g?pwd=4dkr 刪掉多的也有這段......
首先.....還是說import 吧....這是把一個模組引入的意思....就跟你把快遞開箱來用差不多...
下面pygame.init()就是把pygame中很多東西..我也沒搞懂是初始化還是喚醒....總之有一堆功能要init()後才能用...pygame.init()一次就全準備好了....不過你也可以分開init()只叫用的....
win=pygame.display.get_desktop_sizes()[0] 這是拿到屏幕的數據了,不過有很多我只要list中的第一組....
ww=win[0]把前面的win斬成兩個變數...
wh=win[1]
screen = pygame.display.set_mode((ww/4*3,wh/4*3),pygame.NOFRAME)這行的 pygame.display.set_mode是
整個GUI,整個程序我應為最重要的code,沒有之一......這就是打開一個叫screen的視窗,沒了display就沒有視窗,
(ww/4*3,wh/4*3)定義了視窗大小,pygame.NOFRAME只是把正常視窗上面討厭的程序名,X鍵關了,可以刪的這一
個位有很多功能例如全屏,視窗大小可調整跟其他不知幹甚麼的...自己去pygame官網看....當想用複數功能時就用
+加起來例如pygame.FULLSCREEN+pygame.NOFRAME+pygame.RESIZABLE不過沒人會這樣做......
clock = pygame.time.Clock() 這我只知道後面clock.tick(x)一秒多少幀畫面要用....至於時間....我一向用datetime....
fontlist把pygame讀到的字型列表了....font=pygame.font.SysFont(fontlist[27],12)就是在系統字型中拉了第28種(我
的機的....)來用,大小是12....
map = pygame.Surface((48,48*6)) 後面改成mapt的是一個只存在在記憶體中的畫面()中是像素的面積,除了這種因
為生氣隨手打的垃圾程式,沒人會叫電腦這時候算48*6之類的......早算好這填數字就好....更別說後面那些「圖」了
mapt.fill((255,255,255))給mapt這圖填滿(255,255,255)的顏色....也就是白色..相關看RGB色的東西
maptstr = font.render('平地',True,(0,0,0),(128,128,0)) 做出'平地'這字串,True我不知道用途,兩組()分別是文字色跟底色
strpos = maptstr.get_rect() 叫出文字位置
strpos.center = 24,24 重定義文字的中心位置...這堆dir()就知道了...
mapt.blit(maptstr,strpos) 把strpos改成(123,456)那maptstr位置會到了(123,456)而不是strpos...
blit很重要....你準備了字跟圖...記得要用blit貼到圖/視窗上......
screen.blit(mapt,(0,0)) 相比前面mapt把maptstr貼到strpos,這就是screen把mapt貼到(0,0)了...
screen.blit(me,(70,0))
pygame.display.flip()把視窗更新了......不然你怎麼畫,視窗都沒反應喲......
其他的.....我沒吃透,就知道想正常關視窗要有pygame.QUIT那塊,不然退出時會報錯......