Fixed animations not displaying frames
This commit is contained in:
parent
d9ed8274f6
commit
ec300f13b3
2 changed files with 16 additions and 2 deletions
15
roc/anims.py
15
roc/anims.py
|
@ -19,6 +19,8 @@ class anim(object):
|
||||||
while self.frame_timer <= 0:
|
while self.frame_timer <= 0:
|
||||||
self.dirty = True
|
self.dirty = True
|
||||||
self.frame += 1
|
self.frame += 1
|
||||||
|
if len(self.frameset.frames) > 2:
|
||||||
|
print("Updating frame on %s to %s" % (self.frameset.frames[0].id, self.frame))
|
||||||
if self.frame >= len(self.frameset.frames):
|
if self.frame >= len(self.frameset.frames):
|
||||||
if self.repeats == None:
|
if self.repeats == None:
|
||||||
"repeats == None means repeat forever"
|
"repeats == None means repeat forever"
|
||||||
|
@ -47,6 +49,7 @@ class anim(object):
|
||||||
class anim_frameset(object):
|
class anim_frameset(object):
|
||||||
def __init__(self, first_img, delay):
|
def __init__(self, first_img, delay):
|
||||||
self.frames = []
|
self.frames = []
|
||||||
|
self.sprite = None
|
||||||
self.load_frames(first_img)
|
self.load_frames(first_img)
|
||||||
self.cached_surface = None
|
self.cached_surface = None
|
||||||
|
|
||||||
|
@ -60,6 +63,7 @@ class anim_frameset(object):
|
||||||
self.frames = []
|
self.frames = []
|
||||||
|
|
||||||
ifn = ifn[:-1]
|
ifn = ifn[:-1]
|
||||||
|
fnpath, fnbase = os.path.split(ifn)
|
||||||
padlen = 0
|
padlen = 0
|
||||||
while ifn[-1] == '0':
|
while ifn[-1] == '0':
|
||||||
ifn = ifn[:-1]
|
ifn = ifn[:-1]
|
||||||
|
@ -69,11 +73,16 @@ class anim_frameset(object):
|
||||||
def padnum(n, l):
|
def padnum(n, l):
|
||||||
return (("0" * max(0,l-len(str(n))+1)) + str(n))
|
return (("0" * max(0,l-len(str(n))+1)) + str(n))
|
||||||
while True:
|
while True:
|
||||||
|
fnnum = fnbase + padnum(i, padlen)
|
||||||
iff = ifn + padnum(i, padlen) + ife
|
iff = ifn + padnum(i, padlen) + ife
|
||||||
if files.mgr.exists(iff):
|
if files.mgr.exists(iff):
|
||||||
#LOAD
|
#LOAD
|
||||||
mdl = models.mgr.create_sprite(fnn, iff)
|
mdl = models.mgr.create_sprite(fnnum, iff)
|
||||||
self.frames.append(mdl)
|
self.frames.append(mdl)
|
||||||
|
if self.sprite == None:
|
||||||
|
self.sprite = models.Model()
|
||||||
|
self.sprite.id = fnbase
|
||||||
|
self.sprite.add_sprite_layer(iff)
|
||||||
#self.frames += [files.mgr.png(iff)]
|
#self.frames += [files.mgr.png(iff)]
|
||||||
else:
|
else:
|
||||||
break
|
break
|
||||||
|
@ -82,6 +91,7 @@ class anim_frameset(object):
|
||||||
#LOAD
|
#LOAD
|
||||||
mdl = models.mgr.create_sprite(fnn, iff)
|
mdl = models.mgr.create_sprite(fnn, iff)
|
||||||
self.frames.append(mdl)
|
self.frames.append(mdl)
|
||||||
|
self.sprite = mdl
|
||||||
#self.frames = [files.mgr.png(ifn + ife)]
|
#self.frames = [files.mgr.png(ifn + ife)]
|
||||||
|
|
||||||
if not self.frames:
|
if not self.frames:
|
||||||
|
@ -102,7 +112,8 @@ class anim_frameset(object):
|
||||||
|
|
||||||
|
|
||||||
def draw(self, frame):
|
def draw(self, frame):
|
||||||
self.frames[frame].render()
|
self.sprite.layers[0].material = self.frames[frame].layers[0].material
|
||||||
|
self.sprite.render()
|
||||||
"""
|
"""
|
||||||
def draw(self, scr, pos, frame):
|
def draw(self, scr, pos, frame):
|
||||||
if scr != self.cached_surface:
|
if scr != self.cached_surface:
|
||||||
|
|
|
@ -37,6 +37,7 @@ class Model_Manager(object):
|
||||||
|
|
||||||
|
|
||||||
model = Model()
|
model = Model()
|
||||||
|
model.id = name
|
||||||
#model.layers = [rl]
|
#model.layers = [rl]
|
||||||
model.add_sprite_layer(path, centered, antialias)
|
model.add_sprite_layer(path, centered, antialias)
|
||||||
self.models[name] = model
|
self.models[name] = model
|
||||||
|
@ -130,6 +131,7 @@ class Model_Manager(object):
|
||||||
|
|
||||||
for modeldata in mdldata.model:
|
for modeldata in mdldata.model:
|
||||||
model = Model()
|
model = Model()
|
||||||
|
model.id = modeldata['id']
|
||||||
model.load(modeldata)
|
model.load(modeldata)
|
||||||
mgr.models[modeldata['id']] = model
|
mgr.models[modeldata['id']] = model
|
||||||
|
|
||||||
|
@ -454,6 +456,7 @@ class ParticleLayer(RenderLayer):
|
||||||
class Model(object):
|
class Model(object):
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.layers = []
|
self.layers = []
|
||||||
|
self.id = None
|
||||||
|
|
||||||
|
|
||||||
def get_size(self):
|
def get_size(self):
|
||||||
|
|
Loading…
Add table
Reference in a new issue