Here is my code:
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
Why is this happening? It seems perfectly valid to me. What am I doing wrong? What I want to do is paste each letter on the screen 14 pixels over from the last one, because each one is 14 pixels wide. Any help? (I am new to python so if I made a dumb mistake, forgive me.)