Python游戲開發平臺、腳本系統架構設計
2.1 開發平臺
2.1.1 系統開發環境介紹
當前程序是以python為編程語言,主要功能實現依賴于pygame模塊,主要用到surface對象之間的位置變化,再利用事件監聽讓程序運行起來。運行中Surface對象的位置發生變化后,界面刷新,用戶對鼠標與鍵盤進行操作時,監聽操作完成相應事件。
軟件開發方式:①系統總體設計②系統詳細設計③編碼④測試
系統運行環境:Windows7及更高版本;
2.1.2 數據庫系統介紹
MySQL是一個開源關系數據庫管理系統(RDBMS),它使用一種廣泛使用的結構化查詢語言(SQL)進行數據庫管理。
MySQL是開源的,所以任何人都可以在通用公共許可證下下載,并可以自己修改設置以滿足個人的需求。
MySQL具有速度快、可靠性高和適應性強等優點,并被人們廣范關注。大多數人認為MySQL是在不進行事務處理的情況下管理內容的最佳選擇。
因此,在數據庫使用需求簡單情況下,我選擇MySQL作為數據庫管理工具。
2.1.3 開發工具介紹
PyCharm是一種Python 集成開發環境,它有一套工具可以幫助用戶提高開發python語言的效率,例如調試、語法突出顯示、智能提示、自動作業、單元測試、project管理、代碼跳躍、版本控制。
編碼支持:其支持智能化的 、可配置的編輯器提供代碼完成、代碼片段、代碼折疊和窗口拆分支持,使用戶快速便捷的完成任務,節省了用戶的時間。
項目代碼導航器:這個IDE快速的幫助引領用戶在文件之間切換,從一種方式瀏覽語句、用法和類的層次結構。如果用戶記得使用他們提供的快捷鍵,他們的使用效率會更高。
代碼分析:用戶可以使用編碼規則、錯誤突出顯示、智能檢測和一鍵代碼快速完成建議來優化編碼。
Python重構:在程序編寫過程中,導入域/變量/常量,重命名,提取方法/超類,移動和前推/后退重構這些操作可以使用這個功能來實現,極大的減少了用戶的任務量。
集成版本控制:如果用戶想使用這些功能,如登錄、輸入、視圖拆分和合并, -用戶可以在VCS用戶界面中找到,這是其通用的功能。
具有自帶的調試器,調試器的功能多樣化,可以提供多種功能,用戶通過對基于python和 Django的項目進行調試,同樣,系統的單元測試,也可以通過它來解決,
該調試器包括blake點、分步、多屏幕視圖、窗口和計算表達式等。
集成單元測試:用戶可以運行測試文件,單個測試類。一個方法或者所有測試項目。
另一方面,Pycharco還為Django的開發提供了一些很好的功能,以及對Google應用引擎的支持,以及對Pycharm的支持。
2.2 開發技術
python用作該軟件的開發語言,其關鍵技術在于布局、事件監控和數據存儲。布局主要是美化游戲界面以及界面的排版。用戶交互界面用布局來實現,給用戶帶來美觀、舒適、直接的用戶體驗。所以,界面布局的設計會影響到使用者的客觀感受,獲取用戶操作使用事件監視技術,而數據監視技術記錄所有操作,創建用戶需要提取的數據。
2.2.1 Python動態腳本語言簡介
Python是一種優雅、簡單、健壯的開源解釋語言。產生于1989年,由Givavo RSM開發和設計,設計Pyhlo的最初目的是為了高效的完成某一項任務而創造的。它從一種為提高研究項目的工作效率而創建的通用編程語言開始。經過多年的發展,python已經逐漸得到改進。由于其強大的可擴展性和廣泛的庫支持,它已經出現在許多領域,如豆瓣等就是成功的應用python技術的例子。
Python的主要特點有:
1
2
l)低入門標準的python語法相當簡短,編寫的程序通常簡短,非常像日常使用的自然語言,有利于開發者的使用和理解。
2)作為一門面向對象的語言,類和對象的使用,體現了python的特征,面向對象的語言特點是在該語言被創造的時候就體現的。Python之所以能成為一門被大眾喜愛的編程語言在于它的精心設計的數據和內存管理。
3)對于內存的管理,python也有其特定的部分負責,對于開發者來說,程序就顯得有必要了,因為開發者只有理解這些程序的前后邏輯才能更好的寫出項目,使他們不像C/C++程序員那樣專注于處理內存事務。Python的程序設計和編寫時間更短、出錯更少也是基于此特性。
4)主機語言與其通信可以方便的被嵌入,可以用C語言編寫對于一些對性能特別強調的地方,這些擴展在python中被調用以實現性能改進的目的。相反,Python解釋器可以嵌入到C/C++中,它取代接口可以通過動態鏈接庫的形式進行,通過這種方式,程序開發由此變得靈活方便。
5)在python的標準庫中,里面有多個模塊來實現具體的功能,涵蓋了與操作系統解釋器的交互的功能,這些模塊可以直接用于已經完全測試過的功能開發。這些已經被充分測試的模版在實際的編程開發中得到了充分的應用。
2.2.2腳本系統架構設計
在游戲開發中,起連接的作用的是腳本。需要我們解決的問題是腳本和宿主代碼,即怎樣效率高的便捷的管理和操作腳本代碼,讓它為游戲的邏輯開發和促進整個游戲的進行。需要解決腳本和主機代碼通常以事件為中心,以及他它們之間的聯系。游戲引擎是游戲中與腳本進行交互的設備,由此我們可以得到腳本語言的結構,也就是腳本語言和和其他交互的接口,接口的實現是我們設計的主要部分,我們將腳本接口集成到游戲引擎的接口,目的是為了實現這些接口。有了引擎接口和游戲接口的結合,給python腳本的擴充帶來了便利,同時也使python更加豐富,提供pythlo腳本和游戲引擎之間的數據交互,以達到邏輯與具體實現分離的目的。
2.2.3 腳本接口模塊的總體設計
它的幾個組成部分是腳本包裝器、、消息處理器腳本、邏輯腳本、游戲世界接口、腳本對象管理器,其作用主要包括以下一些方面。
l)實現游戲每個功能的接口是通過提供Python腳本完成的, 游戲世界接口可以實現創建游戲對象、設置計時器、修改游戲中游戲對象的屬性、或打印調試日志和其他功能,同時這個接口也實現了管理功能。
2)對于腳本文件的管理,我們使用引擎來實現此功能,所以,內部邏輯結構是調用腳本的關鍵,腳本包裝器可以實現腳本調用的功能,即通過邏輯的方式來調用。將一個腳本交給一個單個的模塊控制。消息處理器對象和邏輯腳本對象是腳本包裝器的兩個重要組成部分。消息處理器的作用是處理從消息到業務邏輯 。
3) 消息處理器由映射關系表來穩定和修護,動態加載、修改和刪除腳本對象是引擎內核通過修改消息處理器對象維護的映射表來實現的。這個功能也實現了邏輯的熱更新。引擎與Python腳本的相互交互是通過一個抽象層的腳本接口模塊來設計實現的,這是一個抽象層。通過這個抽象層,Python和Cython腳本可以在Python和C基礎上在Python和C++之間進行交互。其中處理異常和轉換數據格式是主要部分。
2.2.4 Python調用引擎函數
引擎的邏輯部分需要使用Python語言來設計實現,因此為Pythlo語言提供訪問內部實體的接口是引擎必須提供的,以下是提供一個接口的一些步驟。
1)引擎中創建具體的擴展模塊代碼。
2)利用樣板來包裝代碼,其中一個單獨的C源文件被編寫在腳本接口系統中。
a.包含我們所需要的所有聲明是python h頭文件 b.為了將Python參數轉換成C程序格式類型,我們為每一個函數都增加Pyobject*Mdolue_func()的包裝函數,處理完成后,Python解釋器將接受到一個Python對象傳來的指令。模塊的異常處理對象的設置是為了消除過程中出現的錯誤。 c.設置PyMethodDefMethod[]的數組, 用于將函數名與函數實現聯系起來nteto。
d.增加模塊初始化函數initMethod()。
作者:Ancientear
來源:CSDN
原文:https://blog.csdn.net/ancientear/article/details/91141297
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
