摘要:于是準備在這里總結下用開發游戲的經驗,大致講一下這個游戲是怎么開發出來的,代碼比較長就不貼在這里了。為本游戲的證物系統,管理證物的顯示,指證等。
概述
大約兩年前接觸了python,然后就愛上了這個語言。
然后就想用它寫游戲,很快就找到了pygame這個庫,但是pygame貌似十分冷門,網上教程也比較少,好在還有個文檔來參考。
于是胡亂搞了很久,前后搞了彈幕射擊類(模擬東方project系列)、ARPG和這次的AVG(文字冒險)。這次的文字冒險游戲由于有前幾次的經驗積累,耗時5天成功開發了出來。于是準備在這里總結下用pygame開發游戲的經驗,大致講一下這個游戲是怎么開發出來的,代碼比較長就不貼在這里了。但是會附上作品和源碼,以供有興趣的同學參考學習和玩耍。
這里主要是講思想。
python2.7+制作游戲需要安裝的pygame
操作系統是在windows下,而且由于是py2exe發布的,所以只能在windows下運行
(但是源碼也許能在其他OS上跑,好像沒有依賴windows的庫)
游戲資源就是游戲要使用的音樂、圖片、文字等,本游戲使用一下幾類:
pics/ 圖片信息
diags/ 游戲中的對話
fonts/ 字體
item/ 游戲中的道具信息
music/ 音樂信息
sound/ 音效
類的設計類的設計大部分依賴于游戲的資源,主要有這些類:
Music
Sound
Txt
Button
Lh
Moji
Item
Rule
Sysb
Story
其中Music,Sound,Lh,Moji,Item分別是讀取文件中的音樂、音效、立繪圖片、對話內容和道具的信息并組織管理起來。其中Moji類還要管理游戲中的對話部分,顯示哪一條語句、畫哪些立繪等。
Txt是游戲中需要在哪些位置顯示一些文字時需要,例如左上角顯示位置,按鈕上的提示信息等。
Button是一個矩形按鈕,可以為其配置位置、大小、圖片、快捷鍵、功能等。在很多時候,我們都需要一個按鈕。
Sysb為本游戲的證物系統,管理證物的顯示,指證等。
Rule為游戲規則,每個游戲都有它的規則,小到先畫背景,再畫人物,再畫對話框;具體到比如彈幕射擊類的自機是否與地方彈幕碰撞?是則發生miss等。
Stroy為游戲劇本,由一個關鍵變量event值控制故事走向,也包括flag的控制功能。本來我是將劇本都寫入這個類里面,但是這樣若故事長的話會導致代碼長度劇增,而且也不美觀。所以就把它改成了個解釋器,用來讀外部一個文件內的“指令”,并解釋執行從而控制游戲走向。這樣的話,劇本就可以寫在外部文件,而且主程序導出exe后,不會編程的人也可以嘗試利用這些指令寫出新的故事讓游戲程序去運行。關于這個游戲的解釋指令問題,有興趣的可以去下載游戲,里面有文檔說明。(可能算是個超劣質版的橙光?)
主程序有了這些大類,已經可以想出游戲的框架了,看看主程序的循環就知道了:
while True: keyp=pygame.key.get_pressed() moup=pygame.mouse.get_pressed() mou_pos=pygame.mouse.get_pos() timep = clock.tick(60) for event in pygame.event.get(): if event.type == QUIT: exit() rule.run() story.run()
首先獲取鍵盤的按鍵狀態、鼠標的按鍵狀態和鼠標位置,用來進行交互;
然后控制一下幀率,幀率在實時類游戲中很重要,用來掌控時間,在本游戲中用處很小。設置好關閉;
最后讓規則和故事“run”就可以了。
幾乎所有的類都有個“run”方法,只要它存在在游戲中,它每幀都會run一次,實現它該有的作用。例如Button類每次run都會檢測鼠標是不是在自己的范圍內,是的話繪制第二個圖像,再進一步判斷鼠標是否點擊,是的話運行自己的“功能”。
游戲這里介紹一下這次開發的游戲,類型是文字冒險游戲:
是類似逆轉裁判的游戲方式,在自由行動時,q為調查,w為移動,e為交談;
r為看已獲取的證物,按方向鍵或a、d切換,并可以在對話中按z指證;
運行時是這個樣子的:
游戲有兩個結局。
游戲、代碼地址(順便附帶了第一次制作的半成品彈幕射擊游戲):
網盤
游戲素材來源于逆轉裁判、仙劍和網上。
其他做游戲真是比較開心,但是這大概是第一次算是完整的做出了個游戲嗎?(還是因為暑假沒回家才有的干活動力)
這大概是最后一次使用pygame去開發游戲?pygame畢竟是比較老了,很久沒更新了,感覺很多功能不是特別爽。下面可能會去研究研究pyglet。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/40689.html
摘要:時間永遠都過得那么快,一晃從年注冊,到現在已經過去了年那些被我藏在收藏夾吃灰的文章,已經太多了,是時候把他們整理一下了。那是因為收藏夾太亂,橡皮擦給設置私密了,不收拾不好看呀。 ...
摘要:正文開心消消樂分為二部分首先是開心然后是消消樂游戲嘛嘿嘿一開心小故事三則近視聰明的學生殺手二消消樂游戲素材圖片開心消消樂語音提示環境安裝本文是由寫的小游戲。 導語 你今天消消樂了嗎? ? 哈嘍哈嘍~木木子之前不是寫過一篇百變消消樂嘛? 可能你們不記得了,沒關系——今天重溫一下,來一篇開心?...
摘要:嗷大喵和他的小伙伴們快樂的生活在一起,他們總是能給大家帶來歡樂。大家都說嗷大喵真棒。大家要做的就是解救嗷大喵遠離惡龍。 導語 哈嘍~大家好,我是木子,首先今天木子先給大家講個小故事: 在喵界有這樣一只網紅——混跡于二次元、表情包界,賤萌活潑,調皮機靈,白色的大圓臉,脖子 上系了個鈴鐺,年齡不...
閱讀 752·2021-09-28 09:35
閱讀 2591·2019-08-29 11:25
閱讀 2154·2019-08-23 18:36
閱讀 1849·2019-08-23 16:31
閱讀 2065·2019-08-23 14:50
閱讀 3112·2019-08-23 13:55
閱讀 3286·2019-08-23 12:49
閱讀 2074·2019-08-23 11:46