from time import sleep import board import neopixel from adafruit_pixel_framebuf import PixelFramebuffer from pumpkin import pumpkins_tileset_data, pumpkin_palette pixel_pin = board.D10 pixel_width = 16 pixel_height = 16 pixels = neopixel.NeoPixel( pixel_pin, pixel_width * pixel_height, brightness=0.02, auto_write=False, ) pixel_framebuf = PixelFramebuffer( pixels, pixel_width, pixel_height, reverse_x=False, rotation=1, ) def draw_image_pixel(sprite=0, tile_width=16, tile_height=16): offset = sprite * tile_width pixel = 0 for x in range(tile_width): for y in range(tile_height): try: pixel_framebuf.pixel(x, y, pumpkin_palette[pumpkins_tileset_data[sprite][pixel]]) pixel += 1 except IndexError as e: print(x, y, offset, e) while True: for sprite in range(20): draw_image_pixel(sprite=sprite) pixel_framebuf.display() sleep(0.04) print("Drawing sprite {}".format(sprite))