除了精靈,Pygame也可以這樣加載gif圖片


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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM