Python之pygame學習繪製文字製做滾動文字

pygame繪製文字javascript

java

今天來學習繪製文本內容,畢竟遊戲中仍是須要文字對玩家提示一些有用的信息。oracle

字體經常使用的不是不少,在pygame中大多用於提示文字,或者記錄分數等事件。

字體繪製基本分爲如下幾個步驟:函數

  1. 初始化字體模塊
    1. pygame.init()
  2. 建立一個字體對象
    1. 能夠從文件或者系統內字體選取
      1. pygame.font.SysFont('幼圓',50)
  3. 繪製文本對象。
    1. a.render("測試字體",True,(255,0,0),(0,0,0))
  4. 屏幕繪製字體
    1. screen.blit(text,[jx.x,jx.y])

繪製字體是用的表面中blit函數來繪製圖像:學習

blit(source,dest,area = None,special_flags = 0) - > Rect測試

在此Surface上繪製源Surface。能夠使用dest參數定位繪圖。Dest能夠是表示源左上角的座標對。Rect也能夠做爲目標傳遞,矩形的topleft角將用做blit的位置。目標矩形的大小不會影響blit。字體

也能夠傳遞可選的區域矩形。這表示要繪製的源Surface的較小部分。ui

也就是咱們須要繪製的元素,須要繪製的位置輸入進去,能夠接受矩形區域的位置參數。spa

這裏還演示了獲取文本寬高,讓文本在屏幕居中滾動的效果。code

import pygame import pprint def main(): # 初始化pygame pygame.init() # 初始化字體模塊 pygame.font.init() # 若是字體模塊已初始化,則爲true print('是否初始化',pygame.font.get_init()) # 獲取默認字體的文件名 print('默認字體名',pygame.font.get_default_font()) # 獲取全部可用的字體 pprint.pprint(pygame.font.get_fonts()) # 在系統上找到特定的字體 print('查找字體',pygame.font.match_font('arial')) #從系統字體建立一個Font對象 # (名稱,大小,粗體=假,斜體=假) - >字體 a = pygame.font.SysFont('幼圓',50) # 從文件或對象繪製文本 # pygame.font.Font('文件或對象',大小) # 在新Surface上繪製文本 # 顯示內容、是否消除鋸齒、字體顏色、背景顏色 text = a.render("gisoracle",True,(255,0,0),(0,0,0)) # 取消初始化字體模塊 # pygame.font.quit() # 設置屏幕 screen = pygame.display.set_mode((500,100)) # 設置矩形區域 ztx, zty, ztw, zth = text.get_rect() # 繪製顯示文字的矩形區域 jx = pygame.Rect(500,50-zth/2,ztw, zth) # 初始位置設置屏幕右邊,並居住顯示,2/1屏幕的高度 - 2/1字體的高度 向上移動是減 # 設置遊戲時鐘 clock = pygame.time.Clock() while True: # 文字滾動的頻率 clock.tick(30) # 重繪屏幕 screen.fill((0,0,0)) # 退出事件 for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() exit(0) # 文字從右向左移動 jx.x -= 5 # 若是字體所有移動出屏幕,則設置字體X軸位置爲510, 500的話會出現的比較忽然 if jx.x < 0 - ztw: jx.x = 510 # 屏幕繪製字體, screen.blit(text,[jx.x,jx.y]) # 更新屏幕顯示 pygame.display.update() if __name__ == '__main__': main()來自:https://cloud.tencent.com/developer/article/1489726
相關文章
相關標籤/搜索