最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

pygame.display.flip()和pygame.display.update()的區(qū)別及說明

 更新時(shí)間:2024年03月05日 16:09:40   作者:Jason_WangYing  
這篇文章主要介紹了pygame.display.flip()和pygame.display.update()的區(qū)別及說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

pygame.display.flip()和pygame.display.update()區(qū)別

主要有兩點(diǎn)區(qū)別

一是:

  • pygame.display.flip() 更新整個(gè)待顯示的Surface對(duì)象到屏幕上
  • pygame.display.update() 更新部分內(nèi)容顯示到屏幕上,如果沒有參數(shù),則與flip功能相同(上一條)

二是:

  • 當(dāng)使用OpenGL的時(shí)候,不能使用pygame.display.update()來更新窗口,需要使用pygame.display.flip() 來更新

pygame Display顯示模塊詳解

Pygame 使用pygame.display顯示模塊中的方法創(chuàng)建游戲的主窗口:

screen = pygame.display.set_mode(size=(),flags=0)

上述函數(shù)有兩個(gè)參數(shù)常用參數(shù):

  • size:元組參數(shù),用來設(shè)置主窗口的大小
  • flags:功能標(biāo)志位,表示創(chuàng)建的主窗口樣式,比如創(chuàng)建全屏窗口、無邊框窗口等,flags 參數(shù)值見下表。

標(biāo)志位 功能

  • pygame.FULLSCREEN 創(chuàng)建一個(gè)全屏窗口。
  • pygame.HWSURFACE 創(chuàng)建一個(gè)硬件加速窗口,必須和 FULLSCREEN 同時(shí)使用。
  • pygame.OPENGL 創(chuàng)建一個(gè) OPENGL 渲染窗口。
  • pygame.RESIZABLE 創(chuàng)建一個(gè)可以改變大小的窗口。
  • pygame.DOUBLEBUF 創(chuàng)建一個(gè)雙緩沖區(qū)窗口,建議在HWSURFACE 或者 OPENGL 時(shí)使用。
  • pygame.NOFRAME 創(chuàng)建一個(gè)沒有邊框的窗口。

體驗(yàn)過電腦游戲的朋友們都知道,當(dāng)運(yùn)行程序后會(huì)在電腦桌面上出現(xiàn)一個(gè)游戲的主窗口,這個(gè)主窗口的本質(zhì)是一個(gè) surface 對(duì)象,把理解為畫布、畫板、白紙?jiān)诤线m不過了,它相當(dāng)于一個(gè)載體,用于承載一切游戲所用到的元素。

假如您需要將一段文本方放置到主窗口中,那么您需要先創(chuàng)建一個(gè)包含文本的 surface 對(duì)象,之后再將它附加到主窗口上。

簡單的理解,就是將一張圖 A 粘貼到另一張圖 B 上。

主窗口(screen)相當(dāng)于游戲程序中尺寸最大的 Surface 對(duì)象,在這個(gè)最大的“畫布”中,我們還可以添加其他“小”的 Surface 對(duì)象,這些對(duì)象以矩形的形式存在于主窗口中,它們共同組成了一個(gè)游戲程序。

通過下列方法可以將一個(gè) Surface 對(duì)象粘貼至主窗口上:

scrren.blit(source, dest, area=None, special_flags = 0)

下面對(duì)上述參數(shù)做簡單的介紹:

  • source:表示要粘貼的 Surface 對(duì)象。
  • dest:主窗口中的一個(gè)標(biāo)識(shí)的坐標(biāo)位置,可以接受一個(gè) (x,y) 元組,或者 (x,y,width,height) 元組,也可以是一個(gè) Rect 對(duì)象;
  • area:接受一個(gè) Rect 對(duì)象,默認(rèn)為 None,如果提供該參數(shù)則相當(dāng)于摳圖操作,即在屏幕的指定區(qū)域顯示想要的內(nèi)容;
  • special_flags:可選參數(shù),它是 Pygame.1.8 版本新增的功能,用于指定對(duì)應(yīng)位置顏色的混合方式,參數(shù)值有 BLEND_RGBA_ADD、BLEND_SUB 等。如果不提供該參數(shù)的情況下,默認(rèn)使用 source 的顏色覆蓋 screen 的顏色。

除了創(chuàng)建游戲的主窗口之外,display 模塊還提供了許多的和“顯示”相關(guān)的方法,比如設(shè)置游戲窗口的名稱,如下表所示

import sys
import pygame
#使用pygame之前必須初始化
pygame.init()
#設(shè)置主屏窗口
screen = pygame.display.set_mode((400,400))
#填充主窗口的背景顏色,參數(shù)值RGB(顏色元組)
screen.fill((156,156,156))
#設(shè)置窗口標(biāo)題
pygame.display.set_caption('c語言中文網(wǎng)')
# 如果沒有下列主循環(huán)代碼,運(yùn)行結(jié)果會(huì)一閃而過
while True:
    # 循環(huán)獲取事件,監(jiān)聽事件
    for event in pygame.event.get():
        # 判斷用戶是否點(diǎn)了關(guān)閉按鈕
        if event.type == pygame.QUIT:
            #卸載所有模塊
            pygame.quit()
            #終止程序
            sys.exit()
    #更新屏幕內(nèi)容
    pygame.display.flip()

pygame.display 模塊還提供了一些和“顯示”相關(guān)的其他方法,如下表所示:

方法名稱 說明

  • pygame.display.get_surface() 獲取當(dāng)前顯示的 Surface 對(duì)象。
  • pygame.display.flip() 更新整個(gè)待顯示的 Surface 對(duì)象到屏幕上。
  • pygame.display.update() 更新部分軟件界面顯示。
  • pygame.display.Info() 產(chǎn)生一個(gè) VideoInfo 對(duì)象,包含了顯示界面的相關(guān)信息。
  • pygame.display.set_icon() 設(shè)置左上角的游戲圖標(biāo),圖標(biāo)尺寸大小為 32*32。
  • pygame.display.iconify() 將顯示的主窗口即 Surface 對(duì)象最小化,或者隱藏。
  • pygame.display.get_active() 當(dāng)前顯示界面顯示在屏幕上時(shí)返回 True,如果窗口被隱藏和最小化則返回 False。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

江永县| 越西县| 洪湖市| 湘阴县| 福清市| 兴海县| 景德镇市| 连南| 全州县| 内丘县| 建始县| 瓮安县| 饶阳县| 寿光市| 镇远县| 鹿泉市| 海林市| 昌黎县| 伊宁市| 深州市| 盘锦市| 桐柏县| 正宁县| 麦盖提县| 普陀区| 成安县| 万山特区| 安化县| 鹤峰县| 清苑县| 石嘴山市| 密云县| 梅州市| 株洲市| 沙洋县| 龙山县| 台南县| 建德市| 体育| 子长县| 浠水县|