You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

23 lines
593 B

import pyglet
import itertools
class AnimatedGif:
def __init__(self, path):
self.frames = []
self.load_frames(path)
self.index = itertools.cycle(range(len(self.frames)))
def load_frames(self, path):
i = 0
while True:
try:
image = pyglet.image.load_animation(path)
frame = image.get_texture(i)
self.frames.append(frame)
i += 1
except IndexError:
break
def next_frame(self):
return self.frames[next(self.index)]