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
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)] |