Jake,

The image loads here...

def game_image (image_file):
    image = pygame.image.load (image_file).convert_alpha ()
    return image

The image is assigned like...

red_stone = game_image ("red_stone.png")

Later, it goes into the list like...

board_layout.append ([red_stone, (x, y)...])

So is a copy of red_stone in the list or just a pointer?


Jake b wrote:
When an element of the list says <Surface 50x50x32>, is that pointing to a
spot in the memory or is the actual image being stored in that index?
That's a surface. You can have multiple variables point to the same surface.

Would I have 64 images in my list if every space is occupied or would I have 
just
2 images in memory?
I can't be sure without seeing your init/draw code, but it sounds like
you probably have 64.

Are you doing something like this?

def init():
        """game init"""
        red = pygame.Surface( [10, 10] )
        red.fill( pygame.color.Color( "red" ) )
        blue = pygame.Surface( [10, 10] )
        blue.fill( pygame.color.Color( "blue" ) )
        # init tiles with color red
        for tile in tile_list:
                # sharing one surface for tiles
                tile.image = red

def draw():
        """game draw"""
        for tile in tile_list:
                # draw using tile.image

Reply via email to