https://github.com/piantado/kelpy/blob/master/kelpy/GIFImage.py
主要創意來源是這個,相比較使用精靈,這個更加便於上手,但是版本過於老舊,有些地方可能運行不太順暢了
這個代碼本身也比較臃腫,核心思想是將gif換成幀后輸出。
所以有一些的地方必須要改動一下
比如說庫的改動有
from PIL import Image
另外因為是逐幀的所以說需要不斷覆蓋原來的畫面
screen.fill((255, 255, 255))
當然還有方法是指覆蓋部分的背景,或者直接繪制圖形
screen.blit(background, (word_pos, countline), pygame.Rect(word_pos, countline, 30, font_height))#這里用部分背景填塗的方法刪除
注意最后面四個參數的意義是不一樣的,前面兩個是相對於屏幕的繪制左上角坐標,后面兩個是繪制的大小
這里給出我實際運用時對main的變動
def main(): pygame.init() screen = pygame.display.set_mode((640, 480)) hulk = GIFImage("haimian1.gif") trick_pic = pygame.image.load("haimian1.gif").convert() # 右下角搞笑動圖 rect_hm = trick_pic.get_rect() print(rect_hm) while 1: for event in pygame.event.get(): if event.type == QUIT: pygame.quit() return screen.fill((255, 255, 255)) hulk.render(screen, (50, 0)) hulk.render(screen, (640-rect_hm[3], 480-rect_hm[4])) pygame.display.flip()