国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

pygame學習筆記(5):游戲精靈

2020-02-23 00:43:53
字體:
來源:轉載
供稿:網友

據說在任天堂FC時代,精靈的作用相當巨大,可是那時候只知道怎么玩超級瑪麗、魂斗羅,卻對精靈一點也不知。pygame.sprite.Sprite就是Pygame里面用來實現精靈的一個類,使用時,并不需要對它實例化,只需要繼承他,然后按需寫出自己的類就好了,因此非常簡單實用。

一、什么是精靈

精靈可以認為成是一個個小圖片,一種可以在屏幕上移動的圖形對象,并且可以與其他圖形對象交互。精靈圖像可以是使用pygame繪制函數繪制的圖像,也可以是原來就有的圖像文件。

二、sprite中主要且常用的變量有以下幾個:更多詳細的見http://www.pygame.org/docs/ref/sprite.html#pygame.sprite.Sprite
self.image這個負責顯示什么。如self.image=pygame.Surface([x,y])說明該精靈是一個x,y大小的距形,self.image=pygame.image.load(filename)說明該精靈調用顯示filename這個圖片文件。
代碼如下:
self.image.fill([color]),負責對self.image著色,如self.image=pygame.Surface([x,y])
self.image.fill([255,0,0])

對x,y距形填充紅色。
self.rect負責在哪里顯示。一般來說,先用self.rect=self.image.get_rect()獲得image距形大小,然后給self.rect設定顯示的位置,一般用self.rect.topleft(topright、bottomleft、bottomright)來設定某一個角的顯示位置。另外,self.rect.top、self.rect.bottom、self.rect.right、self.rect.left分別表示上下左右。
self.update 負責使精靈行為生效。
Sprite.add  添加精靈到group中去。
Sprite.remove 從group中刪除
Sprite.kill 從groups中全部刪除精靈
Sprite.alive 判斷精靈是否屬于groups

三、建立一個簡單的精靈

所有精靈在建立時都是從pygame.sprite.Sprite中繼承的。

(1)做一個精靈,繪制一個寬30、高30的距形,具體代碼如下:

代碼如下:
class Temp(pygame.sprite.Sprite):
    def __init__(self,color,initial_position):
        pygame.sprite.Sprite.__init__(self)
        self.image = pygame.Surface([30,30])
        self.image.fill(color)
        self.rect=self.image.get_rect()
        self.rect.topleft=initial_position

這里逐句進行一下分析,pygame.sprite.Sprite.__init__(self)完成初始化。self.image = pygame.Surface([30,30])定義顯示30*30的一個距形surface。self.image.fill(color)用color來填充顏色。self.rect=self.image.get_rect()獲取self.image大小。self.rect.topleft=initial_position確定左上角顯示位置,當然也可以用topright、bottomrigh、bottomleft來分別確定其他幾個角的位置。精靈的顯示,在一個640*480大小的白色窗體[50,100]的位置繪制一個30*30大小的紅色距形,完整代碼如下:

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 任丘市| 乌兰浩特市| 尚志市| 绵竹市| 泊头市| 广安市| 临澧县| 手机| 滨州市| 博乐市| 北宁市| 东海县| 沾化县| 东丰县| 盐亭县| 南靖县| 临潭县| 青铜峡市| 万安县| 太原市| 通河县| 东兰县| 霍林郭勒市| 鹿泉市| 西华县| 陕西省| 娄烦县| 扎兰屯市| 新津县| 彩票| 山东| 定州市| 宁强县| 大姚县| 资兴市| 长丰县| 罗平县| 东城区| 哈密市| 汉源县| 南平市|