欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

pygame中blit()參數的使用及臟矩形動畫形成的說明

 更新時間:2024年03月05日 16:22:21   作者:TheCity2333  
這篇文章主要介紹了pygame中blit()參數的使用及臟矩形動畫形成的說明,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

pygame blit()參數使用及臟矩形動畫形成

pygame中surface的blit()想必是游戲入門經常用到的方法,但是看了網上的內容,都沒什么具體描述的文章,所以斗膽來做個說明,有錯的地方敬請指出,畢竟我也才用pygame庫沒幾天。

假設B是一張圖,即在pygame的surface對象

(pygame可以畫很多張圖,但只有一張圖是屏幕畫布,畫在屏幕畫布中的東西才能顯示出來)

  • B.blit()的功能是把一張圖A粘貼到另一張圖B上,這意味著B上的圖將被A上的圖覆蓋,且永久不能恢復。
  • blit()的原型是blit(source, dest, area=None, special_flags = 0),返回值為rect對象,返回被改變的畫面區(qū)域。

參數有

  • source:一個surface對象,可以理解為一張圖;
  • dest:一個可以標識坐標的東西,可以是一個(x,y)元組。也可以是一個(x,y,height,width)元組,也可以是一個Rect對象,Rect對象可以理解為有位置有大小的矩形。
  • area:一個Rect對象

其中,source就是你要復制粘貼到B上的A圖片。

pygame的坐標體系中以左上角為原點,向右向下兩個方向作x軸y軸,構成坐標(x,y),注意是被畫的B對象的左上角,如果這個對象是屏幕,那就是屏幕的左上角了。

要講dest,先說Rect對象,Rect對象是一個含有坐標信息和大小的矩形(都是相對畫布而言的,非屏幕),所以可以用來表征畫布上的一個區(qū)域

粘貼的矩形圖片的左上角位置就是pygame坐標軸的坐標點。再次提醒我說的坐標都是相對于畫布而言的,畫布可不一定使屏幕。

更詳細一點說,用(x,y)時粘貼到A的大小不受限制,如果還用width和height參數,或是使用Rect對象,都將使超出這個Rect大小的內容不能顯示

最后area,作用是剪切要粘貼的圖片A的一部分,由于Rect對象含有位置信息(x,y),大小信息width,height。

所以用了area參數,將會以要畫的A的左上角為坐標體系,把Rect對象表征的區(qū)域的圖畫扣出來,然后把這部分給B畫布。

感覺有點暈是吧,那么這樣理解吧畫布B.blit(畫面A,區(qū)域1,區(qū)域2),作用是用畫面A的區(qū)域2的畫面摳出來粘貼到畫布B的區(qū)域1上,如果區(qū)域1只給了(x,y)坐標,那區(qū)域1就是(x,y)向右向下,無限大的區(qū)域了

圖示:rect_green.blit(rect_red,rect_black,rect_blue)

假如有兩個表面:

紅色邊框的表面代表rect_red(要復制的畫面),rect_blue的坐標就是藍色框框左上角到紅色框框左上角的位置,大小就是藍色框框那么大

畫布rect_green,由于調用了rect_black參數,所以會截取畫面的一部分,即黑色框框作為畫布

然后把藍色畫面剪切

然后左黑色框框左上角和藍色框框對齊,粘貼上去

注意藍色圖那么大,粘貼到黑色框框就只有左上角粘貼上去了。

然后臟矩形動畫,無非就是在把藍色框框復制粘貼到黑色框框前先把黑色框框所在的綠色框框區(qū)域保存,再扣藍色框框到黑色框框,最后再把保存的綠色框框里面的黑色框框扣回去,還原畫面,然后就能保持背景不變,繼續(xù)循環(huán)扣其他區(qū)域了。

總結

希望這篇文章會對你學習臟矩形動畫和動畫繪圖有幫助。

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Keras load_model 導入錯誤的解決方式

    Keras load_model 導入錯誤的解決方式

    這篇文章主要介紹了Keras load_model 導入錯誤的解決方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • Python中使用dom模塊生成XML文件示例

    Python中使用dom模塊生成XML文件示例

    這篇文章主要介紹了Python中使用dom模塊生成XML文件示例,本文講解了dom模塊的主要方法、詳細的代碼實例,需要的朋友可以參考下
    2015-04-04
  • python基于itchat實現微信群消息同步機器人

    python基于itchat實現微信群消息同步機器人

    本篇文章主要介紹了python基于itchat實現微信群消息同步機器人,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-02-02
  • PyQt5每天必學之事件與信號

    PyQt5每天必學之事件與信號

    這篇文章主要為大家詳細介紹了PyQt5每天必學之事件與信號的相關資料,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • Python實現獲取彈幕的兩種方式分享

    Python實現獲取彈幕的兩種方式分享

    彈幕可以給觀眾一種“實時互動”的錯覺,在相同時刻發(fā)送的彈幕基本上也具有相同的主題,在參與評論時就會有與其他觀眾同時評論的錯覺。本文為大家總結了兩個Python獲取彈幕的方法,希望對大家有所幫助
    2023-03-03
  • 在vscode中啟動conda虛擬環(huán)境的思路詳解

    在vscode中啟動conda虛擬環(huán)境的思路詳解

    這篇文章主要介紹了在vscode中啟動conda虛擬環(huán)境的思路詳解,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-12-12
  • 詳解Python中的三元運算

    詳解Python中的三元運算

    本文詳細介紹了Python中的三元運算符的使用方法和技巧,三元運算也稱三目運算,在Python中,三元運算也稱為條件表達式,感興趣的小伙伴可以參考閱讀
    2023-04-04
  • numpy中三維數組中加入元素后的位置詳解

    numpy中三維數組中加入元素后的位置詳解

    今天小編就為大家分享一篇numpy中三維數組中加入元素后的位置詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • Python實現SSH遠程登陸,并執(zhí)行命令的方法(分享)

    Python實現SSH遠程登陸,并執(zhí)行命令的方法(分享)

    下面小編就為大家?guī)硪黄狿ython實現SSH遠程登陸,并執(zhí)行命令的方法(分享)。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • Python第三方庫qrcode或MyQr生成博客地址二維碼

    Python第三方庫qrcode或MyQr生成博客地址二維碼

    使用第三方庫qrcode或者MyQr給自己的博客網址快速生成二維碼,一鍵分享,文中含有詳細示例代碼,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2021-10-10

最新評論