Вот мой код:(IndexError: индекс индекса за пределами диапазона) Мой цикл for дает мне ошибку?
import game, pygame, sys
from gameobjects import *
from imageloader import *
def main():
screen = pygame.display.set_mode((800, 600))
background = Background("images/Nebula1.bmp", screen.get_width(), screen.get_height())
letter1 = pygame.image.load("1.bmp")
letter2 = pygame.image.load("2.bmp")
letter3 = pygame.image.load("3.bmp")
letter4 = pygame.image.load("4.bmp")
letter5 = pygame.image.load("5.bmp")
letter6 = pygame.image.load("6.bmp")
letter7 = pygame.image.load("7.bmp")
letter8 = pygame.image.load("8.bmp")
letter9 = pygame.image.load("9.bmp")
letter10 = pygame.image.load("10.bmp")
Letters = [letter1, letter2, letter3, letter4, letter5, letter6, letter7, letter8, letter9, letter10]
letter = 0
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
screen.blit(background.image, (0,0))
for i in Letters:
screen.blit(Letters[letter], (330 + 14 * letter, 190))
letter += 1
pygame.display.flip()
All the items in the Letters list are pygame.Surfaces retrieved through using pygame.image.load(). Every time I run this code, I get an error that looks like this:
Traceback (most recent call last):
File "main.py", line 75, in <module>
main()
File "main.py", line 32, in main
screen.blit(Letters[letter], ((330 + 14 * letter, 190)))
IndexError: list index out of range
Почему это происходит? Это кажется мне совершенно верным. Что я делаю не так? То, что я хочу сделать, - вставить каждую букву на экране с 14 пикселями от последней, потому что каждая из них имеет ширину 14 пикселей. Любая помощь? (Я новичок в python, поэтому, если я совершил туманную ошибку, простите меня.)
Он побежал, но я столкнулся с другой проблемой. Когда я запускаю его, буквы на самом деле не печатаются на экране, они просто очень быстро скользят по нему ... Знаете ли вы, почему это может произойти? – number1son10
Я не совсем понимаю, что вы имеете в виду. Поскольку это два разных вопроса, вы должны задать еще один вопрос о новой проблеме. Если мой ответ решает первую проблему, можете ли вы принять мой ответ? – agconti
Что я имел в виду, так это то, что цикл for не выполняет то, что он должен был делать, вот что я хотел получить. Это был вопрос, потому что у меня все еще есть ошибка, просто не та же ошибка. – number1son10