官术网_书友最值得收藏!

1.3.2 創建游戲角色

接下來創建游戲角色。角色的創建似乎沒那么簡單,因為角色是需要活動的,而之前在窗口中顯示的小球根本無法活動,因此它還不能算作游戲角色,僅僅只是一幅圖像而已。怎么辦呢?好在Pgzero事先已經準備好了,它通過提供一個叫作Actor的類來幫助創建游戲角色。

說明:

按照面向對象編程的思想,類就是對象的模板,通過類可以創建具體的對象實例。例如要烘焙餅干,可以先購買一個餅干模具(例如可愛的小動物形狀模具),然后將原料倒入模具中進行烘焙,最后做好的就是小動物形狀的餅干了。在這個例子中,餅干模具就好比是“類”,而做好的餅干就好比是“對象”,一個模具可以制作若干個相同的餅干,而一個類則可以創建若干個相同的對象。

因此可以使用Pgzero提供的Actor類來創建需要的角色對象。例如要創建一個小球角色,可以這樣編寫代碼:

上面這行代碼調用Actor類的構造方法來生成小球角色對象,并將其保存在一個變量ball中,今后若要操作小球則只需訪問ball變量即可。Actor類的構造方法有兩個基本參數,第一個是角色的圖片文件名,第二個是角色的初始位置。這和之前顯示圖像的參數是一樣的。

小球角色創建好了,那么如何將它顯示在窗口中呢?是不是還與之前的一樣,需要調用screen的blit()方法呢?當然不需要了。現在的小球已經不再是一幅圖像,而是一個真正的角色對象,它擁有很多的屬性和方法。其中有一個叫作draw()的方法,可以用來將自身顯示在窗口中。

將之前的代碼改寫成如下:

運行一下你會發現,程序的結果和圖1.7所顯示的效果是一模一樣的。可是現在小球還是不會動呀!不要著急,我們已經做好了一切準備工作,現在是時候讓它動起來了。

主站蜘蛛池模板: 五常市| 易门县| 辛集市| 余江县| 拉萨市| 观塘区| 本溪| SHOW| 乃东县| 泸西县| 盖州市| 兴和县| 施甸县| 天镇县| 吴桥县| 奉化市| 安西县| 德庆县| 确山县| 漯河市| 合肥市| 左云县| 山阳县| 五莲县| 保德县| 大姚县| 余江县| 西乌珠穆沁旗| 涪陵区| 溧阳市| 兴业县| 香港 | 萝北县| 洮南市| 景谷| 海口市| 天等县| 尼木县| 巴马| 莲花县| 临沭县|