因此,對于我正在開發(fā)的游戲,我發(fā)現(xiàn)了一個錯誤,我無法在任何地方找到答案。這是我的 UI 中的代碼片段if not self.game.rot_lim == 0: pg.draw.rect(self.ui, (255,255,255), (730,16,32,32)) rotators = str(self.game.rot_rem) self.draw_text("Prisms Remaining: " + rotators, 770)rot_lim 是一個整數(shù),它存儲用戶可以為該級別放置的旋轉(zhuǎn)器總數(shù)的值。同樣,rot_rem 是可以放置的剩余數(shù)量。我的繪制文本功能如下:def draw_text(self, text, x, y = 20): # Renders text draw = self.game.text.render(text, False, (0,0,0), (170, 170, 170)) # Draws on UI self.ui.blit(draw, (x,y))現(xiàn)在我的問題是總共顯示 10 個或更多。當(dāng)我低于 10 時(shí),它會在末尾顯示一個額外的 0(例如,如果我放置 1,它會變?yōu)?90)。對于我在它之后放置的每一個忽略最后一個 0,它不存在于代碼中(用打印語句測試),所以它只存在于它的渲染端。
1 回答

茅侃侃
TA貢獻(xiàn)1842條經(jīng)驗(yàn) 獲得超22個贊
好吧,我設(shè)法重新創(chuàng)建了這個問題,它與重新繪制屏幕有關(guān)(與您發(fā)布的代碼無關(guān))。由于我們只能看到您的部分代碼,我不能完全確定我的娛樂是否符合您的問題。
確保您正在做以下兩件事之一:
1)通過重新填充背景顏色清除誰屏幕 screen.fill((255, 255, 200))
2)通過重新填充來清除文本所在的部分(可能它在需要重繪的矩形內(nèi))
這應(yīng)該發(fā)生在游戲的每次循環(huán)中。基本上,確保每次都刷新屏幕,因?yàn)槟壳八皇窃诶L制
添加回答
舉報(bào)
0/150
提交
取消