亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

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

系統 2123 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條評論
主站蜘蛛池模板: 99视频精品全部国产盗摄视频 | 天天狠天天天天透在线 | 亚洲小视频在线观看 | 天天曰天天干天天操 | 亚洲狠狠97婷婷综合久久久久 | 国产精品久久久久影院免费 | 精品国产免费久久久久久婷婷 | 免费观看欧美一级特黄 | 免费a级毛片出奶水 | 91久草视频 | 婷婷色综合 | 欧美视频亚洲视频 | 天天做天天爱天天综合网 | 国产一区2区| 午夜免费体验区 | 中文字幕欧美日韩va免费视频 | 日本不卡1 | 99综合| 欧美亚洲国产第一页草草 | 欧美一级特黄一片免费 | 日本国产一区二区三区 | 国产精品久久久久久久hd | 国产精品无码久久综合网 | 欧美激情xxxx性bbbb | 国产一级久久久久久毛片 | 18p爽视频在线观看免费 | 欧美z0o| 在线日韩视频 | 综合视频网 | 99热久久国产精品这里有6 | 日本一级~片免费永久 | 老子理论不卡影院6080 | videosex久久麻豆| 欧美高清免费精品国产自 | 国内久久久久久久久久 | 欧美特黄一级大黄录像 | 日本一级特大毛片 | 成年女人毛片免费播放视频m | 激情奇米 | 欧洲黄色网 | 亚洲国产精品综合久久网络 |