- 趣學Python游戲編程
- 何青
- 657字
- 2022-07-27 19:43:55
1.3.2 創建游戲角色
接下來創建游戲角色。角色的創建似乎沒那么簡單,因為角色是需要活動的,而之前在窗口中顯示的小球根本無法活動,因此它還不能算作游戲角色,僅僅只是一幅圖像而已。怎么辦呢?好在Pgzero事先已經準備好了,它通過提供一個叫作Actor的類來幫助創建游戲角色。
說明:
按照面向對象編程的思想,類就是對象的模板,通過類可以創建具體的對象實例。例如要烘焙餅干,可以先購買一個餅干模具(例如可愛的小動物形狀模具),然后將原料倒入模具中進行烘焙,最后做好的就是小動物形狀的餅干了。在這個例子中,餅干模具就好比是“類”,而做好的餅干就好比是“對象”,一個模具可以制作若干個相同的餅干,而一個類則可以創建若干個相同的對象。
因此可以使用Pgzero提供的Actor類來創建需要的角色對象。例如要創建一個小球角色,可以這樣編寫代碼:

上面這行代碼調用Actor類的構造方法來生成小球角色對象,并將其保存在一個變量ball中,今后若要操作小球則只需訪問ball變量即可。Actor類的構造方法有兩個基本參數,第一個是角色的圖片文件名,第二個是角色的初始位置。這和之前顯示圖像的參數是一樣的。
小球角色創建好了,那么如何將它顯示在窗口中呢?是不是還與之前的一樣,需要調用screen的blit()方法呢?當然不需要了。現在的小球已經不再是一幅圖像,而是一個真正的角色對象,它擁有很多的屬性和方法。其中有一個叫作draw()的方法,可以用來將自身顯示在窗口中。
將之前的代碼改寫成如下:

運行一下你會發現,程序的結果和圖1.7所顯示的效果是一模一樣的。可是現在小球還是不會動呀!不要著急,我們已經做好了一切準備工作,現在是時候讓它動起來了。
推薦閱讀
- AngularJS Web Application Development Blueprints
- Java入門很輕松(微課超值版)
- Mastering macOS Programming
- Getting Started with NativeScript
- Visual C++開發入行真功夫
- Learning Apache Cassandra
- LabVIEW虛擬儀器入門與測控應用100例
- INSTANT Yii 1.1 Application Development Starter
- Extreme C
- HTML5權威指南
- Hands-On Neural Network Programming with C#
- QGIS 2 Cookbook
- Web App Testing Using Knockout.JS
- 實戰Java高并發程序設計(第2版)
- 區塊鏈架構之美:從比特幣、以太坊、超級賬本看區塊鏈架構設計