(這個問題的措詞不太好,所以如果你認爲你可以更好地改述它,那麼請做。) 我基本上有十個窗格幾乎相同顯示在PyGame屏幕。然而,代碼很長,所以我想知道是否有更好的方式來做我所做的事情。在pygame中顯示一個以上的項目
def addPane(self, textToDisplay):
#right now it is displaying them all change so that it checks how many
#panes are on through (numberOfPanes = 0) 10 is limit display no more
#than ten.
paneOne = pygame.draw.rect(self.screen, (black), (175, 75, 200, 100), 2)
paneTwo = pygame.draw.rect(self.screen, (black), (0, 0, 200, 100), 2)
paneThree = pygame.draw.rect(self.screen, (black), (600, 400, 200, 100), 2)
paneFour = pygame.draw.rect(self.screen, (black), (175, 75, 200, 100), 2)
paneFive = pygame.draw.rect(self.screen, (black), (175, 75, 200, 100), 2)
paneSix = pygame.draw.rect(self.screen, (black), (175, 75, 200, 100), 2)
paneSeven = pygame.draw.rect(self.screen, (black), (175, 75, 200, 100), 2)
paneEight = pygame.draw.rect(self.screen, (black), (175, 75, 200, 100), 2)
paneNine = pygame.draw.rect(self.screen, (black), (175, 75, 200, 100), 2)
paneTen = pygame.draw.rect(self.screen, (black), (175, 75, 200, 100), 2)
if self.NoOfPanes > 10:
print("Limit reached")
else:
paneOne
self.NoOfPanes = self.NoOfPanes + 1
if self.NoOfPanes > 10:
print("Limit reached")
else:
paneTwo
self.screen.blit(self.font.render(textToDisplay, True, (black)), (250, 115))
self.NoOfPanes = self.NoOfPanes + 1
if self.NoOfPanes > 10:
print("Limit reached")
else:
paneThree
self.NoOfPanes = self.NoOfPanes + 1
if self.NoOfPanes > 10:
print("Limit reached")
else:
paneThree
self.NoOfPanes = self.NoOfPanes + 1
if self.NoOfPanes > 10:
print("Limit reached")
else:
paneFour
self.NoOfPanes = self.NoOfPanes + 1
if self.NoOfPanes > 10:
print("Limit reached")
else:
paneFive
self.NoOfPanes = self.NoOfPanes + 1
if self.NoOfPanes > 10:
print("Limit reached")
else:
paneSix
self.NoOfPanes = self.NoOfPanes + 1
if self.NoOfPanes > 10:
print("Limit reached")
else:
paneSeven
self.NoOfPanes = self.NoOfPanes + 1
if self.NoOfPanes > 10:
print("Limit reached")
else:
paneEight
self.NoOfPanes = self.NoOfPanes + 1
if self.NoOfPanes > 10:
print("Limit reached")
else:
paneNine
self.NoOfPanes = self.NoOfPanes + 1
if self.NoOfPanes > 10:
print("Limit reached")
else:
paneTen
self.NoOfPanes = self.NoOfPanes + 1
pygame.display.update()
是什麼樣子:
被寫入函數中的文字是我想達到的目標。我已經這樣做了,但正如我之前所說的那樣,這很愚蠢。這是實現我已經擁有的結果的最佳方式嗎?還是有更好的方式來實現?
(我會改變座標後來讓所有十個窗格是可見的,但是我已經做了這樣的測試目的。)
您可以將所有窗格存儲在列表中並使用for循環來生成它們。 –