在遇到PyGame中文本渲染的許多問題後,我想知道是否有任何有效的方法來處理它。在PyGame中有效地處理文本
第一種方法:
存放在班self.variables已經呈現文本:
class SomeClass():
def __init__(self):
self.text1 = myfont.render("Text 1",0,self.colour)
self.text2 = myfont.render("Text 2",0,self.colour)
#etc.
然後在事件處理,我的blit變量:
while running:
screen.blit(SomeClass().text1,(x, y))
注意:myfont是一個pygame.font.SysFont(...)
結果:幀率從> 29下降(上限爲30),以大約20至22
第二種方法:
商店只是文本串在一類的變量和塊傳輸之前呈現。
class SomeClass():
def __init__(self):
self.text1 = "Text 1 string"
self.text2 = "Text 2 string"
,然後就在位塊傳輸之前渲染:
while running:
#more code
screen.blit(SomeClass().myfont.render(SomeClass().text1,0,SomeClass().colour)
結果:幀率的可比下降
第三種方法:
使用GIMP,寫作文那裏,然後將其存儲在PNG中。 結果:FPS沒有明顯的變化
所以問題依然存在:有沒有什麼方法可以有效地處理PyGame中的文本,或者它總是更好的解決方案,使它的圖片?我只是不明白PyGame中的文本處理的基本規則嗎?我忽略了什麼?
你如何處理Py遊戲中的文本?
預先感謝所有的意見和建議;)
帕特里克
謝謝!這是一個非常有趣的方法。我會給它一個鏡頭。 –
現在想知道其他的東西......「打印」命令不會消耗太多的CPU ......?在我刪除了打印FPS的命令後,遊戲突然加快了速度。 –