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()