欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

python小歡喜(六)動畫 (2) 移動的笑臉

系統 1990 0

在前一篇文章《python小歡喜(六)動畫 (1) pygame的安裝與初步使用》中介紹了如何安裝pygame。接下來咱們用pygame做一些有趣的動畫效果

顯示笑臉圖片

python小歡喜(六)動畫 (2) 移動的笑臉_第1張圖片
python代碼如下:

            
              
                # -*- coding:utf-8 -*- 
              
              
                # showPic.py
              
              
                # 顯示笑臉圖處
              
              
                import
              
               pygame        
              
                # 導入pygame模塊
              
              
pygame
              
                .
              
              init
              
                (
              
              
                )
              
              
screen 
              
                =
              
               pygame
              
                .
              
              display
              
                .
              
              set_mode
              
                (
              
              
                [
              
              
                800
              
              
                ,
              
              
                600
              
              
                ]
              
              
                )
              
              
keep_going 
              
                =
              
              
                True
              
              
pic 
              
                =
              
               pygame
              
                .
              
              image
              
                .
              
              load
              
                (
              
              
                "CrazySmile.bmp"
              
              
                )
              
              
                #加載當前目錄下的圖片文件 CrazySmile.bmp
              
              
                while
              
               keep_going
              
                :
              
              
                # 事件處理循環
              
              
                for
              
               event 
              
                in
              
               pygame
              
                .
              
              event
              
                .
              
              get
              
                (
              
              
                )
              
              
                :
              
              
                if
              
               event
              
                .
              
              
                type
              
              
                ==
              
               pygame
              
                .
              
              QUIT
              
                :
              
               
            keep_going 
              
                =
              
              
                False
              
              
    screen
              
                .
              
              blit
              
                (
              
              pic
              
                ,
              
              
                (
              
              
                100
              
              
                ,
              
              
                100
              
              
                )
              
              
                )
              
              
    pygame
              
                .
              
              display
              
                .
              
              update
              
                (
              
              
                )
              
              
   
pygame
              
                .
              
              quit
              
                (
              
              
                )
              
              
                # 退出
              
            
          

從源碼可知,該程序要能夠正確執行,當前目錄下需要有一個圖片文件 CrazySmile.bmp
在這里插入圖片描述

以上只是顯示了一副靜止的圖片,接下要讓圖片動起來

彈跳的笑臉

實現效果如下:
python小歡喜(六)動畫 (2) 移動的笑臉_第2張圖片

python代碼如下:

            
              
                # -*- coding:utf-8 -*- 
              
              
                # 移動的笑臉
              
              
                import
              
               pygame       
              
                # 導入pygame模塊
              
              
pygame
              
                .
              
              init
              
                (
              
              
                )
              
              
screen 
              
                =
              
               pygame
              
                .
              
              display
              
                .
              
              set_mode
              
                (
              
              
                [
              
              
                600
              
              
                ,
              
              
                600
              
              
                ]
              
              
                )
              
              
keep_going 
              
                =
              
              
                True
              
              
pic 
              
                =
              
               pygame
              
                .
              
              image
              
                .
              
              load
              
                (
              
              
                "CrazySmile.bmp"
              
              
                )
              
              
                #加載當前目錄下的圖片文件 CrazySmile.bmp
              
              
colorkey 
              
                =
              
               pic
              
                .
              
              get_at
              
                (
              
              
                (
              
              
                0
              
              
                ,
              
              
                0
              
              
                )
              
              
                )
              
              
pic
              
                .
              
              set_colorkey
              
                (
              
              colorkey
              
                )
              
              
picx 
              
                =
              
              
                0
              
              
picy 
              
                =
              
              
                0
              
              
BLACK 
              
                =
              
              
                (
              
              
                0
              
              
                ,
              
              
                0
              
              
                ,
              
              
                0
              
              
                )
              
              
timer 
              
                =
              
               pygame
              
                .
              
              time
              
                .
              
              Clock
              
                (
              
              
                )
              
              
speed 
              
                =
              
              
                5
              
              
                while
              
               keep_going
              
                :
              
              
                # 事件處理循環
              
              
                for
              
               event 
              
                in
              
               pygame
              
                .
              
              event
              
                .
              
              get
              
                (
              
              
                )
              
              
                :
              
              
                if
              
               event
              
                .
              
              
                type
              
              
                ==
              
               pygame
              
                .
              
              QUIT
              
                :
              
               
            keep_going 
              
                =
              
              
                False
              
              
    picx 
              
                +=
              
               speed  
              
                # 當speed大于0時,增加圖片的X坐標值,否則減少
              
              
    picy 
              
                +=
              
               speed  
              
                # 當speed大于0時,增加圖片的Y坐標值,否則減少
              
              
                if
              
               picx 
              
                <=
              
              
                0
              
              
                or
              
               picx 
              
                +
              
               pic
              
                .
              
              get_width
              
                (
              
              
                )
              
              
                >=
              
              
                600
              
              
                :
              
              
        speed 
              
                =
              
              
                -
              
              speed 
              
                #當到達窗口邊緣時,速度取反
              
              
    screen
              
                .
              
              fill
              
                (
              
              BLACK
              
                )
              
                  
    screen
              
                .
              
              blit
              
                (
              
              pic
              
                ,
              
              
                (
              
              picx
              
                ,
              
              picy
              
                )
              
              
                )
              
              
    pygame
              
                .
              
              display
              
                .
              
              update
              
                (
              
              
                )
              
              
    timer
              
                .
              
              tick
              
                (
              
              
                60
              
              
                )
              
              
    
pygame
              
                .
              
              quit
              
                (
              
              
                )
              
              
                # 退出
              
            
          

帶尾巴的移動的笑臉

實現效果如下:

python代碼如下:

            
              
                # -*- coding:utf-8 -*- 
              
              
                # 帶尾巴的移動的笑臉
              
              
                import
              
               pygame        
              
                # 導入pygame模塊
              
              
pygame
              
                .
              
              init
              
                (
              
              
                )
              
              
screen 
              
                =
              
               pygame
              
                .
              
              display
              
                .
              
              set_mode
              
                (
              
              
                [
              
              
                800
              
              
                ,
              
              
                600
              
              
                ]
              
              
                )
              
              
keep_going 
              
                =
              
              
                True
              
              
pic 
              
                =
              
               pygame
              
                .
              
              image
              
                .
              
              load
              
                (
              
              
                "CrazySmile.bmp"
              
              
                )
              
              
                #加載當前目錄下的圖片文件 CrazySmile.bmp
              
              
colorkey 
              
                =
              
               pic
              
                .
              
              get_at
              
                (
              
              
                (
              
              
                0
              
              
                ,
              
              
                0
              
              
                )
              
              
                )
              
              
pic
              
                .
              
              set_colorkey
              
                (
              
              colorkey
              
                )
              
              
picx 
              
                =
              
              
                0
              
              
picy 
              
                =
              
              
                0
              
              
BLACK 
              
                =
              
              
                (
              
              
                0
              
              
                ,
              
              
                0
              
              
                ,
              
              
                0
              
              
                )
              
              
timer 
              
                =
              
               pygame
              
                .
              
              time
              
                .
              
              Clock
              
                (
              
              
                )
              
              
speedx 
              
                =
              
              
                5
              
              
speedy 
              
                =
              
              
                5
              
              
                while
              
               keep_going
              
                :
              
              
                # 事件處理循環
              
              
                for
              
               event 
              
                in
              
               pygame
              
                .
              
              event
              
                .
              
              get
              
                (
              
              
                )
              
              
                :
              
              
                if
              
               event
              
                .
              
              
                type
              
              
                ==
              
               pygame
              
                .
              
              QUIT
              
                :
              
               
            keep_going 
              
                =
              
              
                False
              
              
    picx 
              
                +=
              
               speedx 
              
                # 當speedx大于0時,增加圖片的X坐標值,否則減少
              
              
    picy 
              
                +=
              
               speedy 
              
                # 當speedy大于0時,增加圖片的Y坐標值,否則減少
              
              
                if
              
               picx 
              
                <=
              
              
                0
              
              
                or
              
               picx 
              
                +
              
               pic
              
                .
              
              get_width
              
                (
              
              
                )
              
              
                >=
              
              
                800
              
              
                :
              
              
        speedx 
              
                =
              
              
                -
              
              speedx 
              
                #當到達窗口邊緣時,速度取反
              
              
                if
              
               picy 
              
                <=
              
              
                0
              
              
                or
              
               picy 
              
                +
              
               pic
              
                .
              
              get_height
              
                (
              
              
                )
              
              
                >=
              
              
                600
              
              
                :
              
              
        speedy 
              
                =
              
              
                -
              
              speedy 
              
                #當到達窗口邊緣時,速度取反
              
              
                #screen.fill(BLACK) # 不做"擦黑板"的操作,達到累加效果,顯示出尾巴 
              
              
    screen
              
                .
              
              blit
              
                (
              
              pic
              
                ,
              
              
                (
              
              picx
              
                ,
              
               picy
              
                )
              
              
                )
              
              
    pygame
              
                .
              
              display
              
                .
              
              update
              
                (
              
              
                )
              
              
    timer
              
                .
              
              tick
              
                (
              
              
                60
              
              
                )
              
              
    
pygame
              
                .
              
              quit
              
                (
              
              
                )
              
              
                # Exit
              
            
          

以上動畫效果的實現原理,請查看源碼及注釋,應該不難理解。


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 久草福利在线视频 | 三a级片| 亚洲精品综合网 | 国产成人综合日韩精品婷婷九月 | 狠狠视频| 国产一有一级毛片视频 | 插下面视频 | 国产免费一级淫片 | 国产高清精品在线 | 99久久精品费精品国产一区二 | 奇米影视444 | 国产999精品久久久久久 | 久久美女网 | 久久久久成人精品免费播放动漫 | 国产精品免费久久久免费 | 四虎4hu| 午夜小网站| 日韩视频www| 美女午夜影院 | 国产欧美精品一区二区三区 | 日韩a视频 | 亚洲国产精品久久 | 伊人午夜视频 | 国产成在线观看免费视频 | 国产这里有精品 | 99久久久国产精品免费99 | 日本不卡中文字幕一区二区 | 精品国产理论在线观看不卡 | 999热在线精品观看全部 | 久久成人18免费网站 | 奇米影视888狠狠狠777不卡 | 亚洲欧美色欧另类欧 | 九九精品在线 | 欧美18av| 久久精品中文字幕首页 | 国产一级影视 | 亚洲97视频 | 国产激情久久久久久熟女老人AV | 成人淫片免费视频95视频 | 久久青草国产免费观看 | 欧美日韩中文 |