Pygame學習筆記——添加靜態文字
學習資源:https://www.bilibili.com/video/BV1bE411p7Ue?p=4
【零基礎 Python體驗課】第四季 pygame遊戲開發
由於依然還沒有學習動畫,所以還是靜態的,不需要考慮幀的問題。
初始化代碼:(不明白的可以看看上一章)
'''
@Author: Thomas
@Date: 2020-06-14 19:56:36
@LastEditTime: 2020-06-14 20:05:54
@Description: Pygame設置文字
@FilePath: \Coding-Notes\Python-Notes\Pygame\前鋒教育-Bilibili\顯示文字.py
'''
import pygame
pygame.init()
window = pygame.display.set_mode((600, 600))
pygame.display.set_caption("顯示文字")
# 設置背景顏色
window.fill((255, 255, 255))
pygame.display.update() #就連設置顏色都需要更新一次,what?!
flag = True
while flag:
for event in pygame.event.get():
if event.type == pygame.QUIT:
exit()
1文字創建
模塊用pygame.font
,這是字體模塊
-
創建字體對象
-
系統默認字體:
pygame.font.SysFont()
,就一種,中文不支持,很難看 -
自定義字體:
pygame.font.Font(字體文件路徑,字號)
,需要TTF、TTC格式的文件,字號自定義Windows下打開資源管理器,找到
C:\Windows\Fonts
目錄,這裏是系統自帶的字體,複製一個走 -
ft = pygame.font.Font("Font/msyh.ttc", 40)
用一個變量存儲,這裏是msyh微軟雅黑字體
-
-
創建文字對象
- 可以寫文字了,render方法
-
render(文字內容, True, 文字顏色, 背景顏色(可以不設))
第二個True類似是文字是否平滑之類的,固定就是True了text = ft.render("遊戲你好", True, (123, 123, 123))
用一個變量存儲,這裏是text
-
渲染到窗口
- 依舊使用blit
window.blit(text, (0, 0))
-
刷新,不刷新不能顯示
pygame.display.update()
源代碼:
'''
@Author: Thomas
@Date: 2020-06-14 19:56:36
@LastEditTime: 2020-06-14 20:05:54
@Description: Pygame設置文字
@FilePath: \Coding-Notes\Python-Notes\Pygame\前鋒教育-Bilibili\顯示文字.py
'''
import pygame
pygame.init()
window = pygame.display.set_mode((600, 600))
pygame.display.set_caption("顯示文字")
# 設置背景顏色
window.fill((255, 255, 255))
pygame.display.update() #就連設置顏色都需要更新一次
# ===========顯示文字==========
#1.創建字體對象
#Pygame自帶的模塊font
# pygame.font.SysFont() 系統字體,一般無法支持中文
# Font(字體文件路徑, 字號) 我就問問爲什麼不能直接一個字符串,寫上字體名!
ft = pygame.font.Font("Font/msyh.ttc", 40)
#2.創建文字對象
# render(文字內容, True, 文字顏色, 背景顏色(可以不設)) #是否平滑一定是True
text = ft.render("遊戲你好", True, (123, 123, 123)) #背景顏色不寫
#3.渲染到窗口上
window.blit(text, (0, 0))
#4.刷新窗口
pygame.display.update()
flag = True
while flag:
for event in pygame.event.get():
if event.type == pygame.QUIT:
exit()
背景顏色可以設置,也是RGB
2操作文字
文字我們也需要放在不同位置,於是文字也有形變、移動等方法,和圖片幾乎沒有差別。直接給實例,同樣支持scale
和rotozoom
'''
@Author: Thomas
@Date: 2020-06-14 19:56:36
@LastEditTime: 2020-06-14 20:05:54
@Description: Pygame設置文字
@FilePath: \Coding-Notes\Python-Notes\Pygame\前鋒教育-Bilibili\顯示文字.py
'''
import pygame
pygame.init()
window = pygame.display.set_mode((600, 600))
pygame.display.set_caption("顯示文字")
# 設置背景顏色
window.fill((255, 255, 255))
pygame.display.update() #就連設置顏色都需要更新一次
# ===========顯示文字==========
#1.創建字體對象
#Pygame自帶的模塊font
# pygame.font.SysFont() 系統字體,一般無法支持中文
# Font(字體文件路徑, 字號) 我就問問爲什麼不能直接一個字符串,寫上字體名!
ft = pygame.font.Font("Font/msyh.ttc", 40)
#2.創建文字對象
# render(文字內容, True, 文字顏色, 背景顏色(可以不設)) #是否平滑一定是True
text = ft.render("遊戲你好", True, (205, 85, 85), (240, 225, 240)) #背景顏色不寫
#3.渲染到窗口上
window.blit(text, (0, 0))
#3.1 獲取大小
w, h = text.get_size()
window.blit(text, (600-w, 600-h))
#3.2 縮放和旋轉
new1 = pygame.transform.scale(text, (200, 50))
window.blit(new1, (0, 60))
new2 = pygame.transform.rotozoom(text, 0, 2) #不旋轉,放大二倍
window.blit(new2, (0, 120))
new3 = pygame.transform.rotozoom(text, 90, 2) #旋轉九十度
window.blit(new3, (0, 250))
#4.刷新窗口
pygame.display.update()
flag = True
while flag:
for event in pygame.event.get():
if event.type == pygame.QUIT:
exit()
3預告
下一節將交講到畫線和圖形