"let letterbox maintain its position if the on/off ival gets paused"

This commit is contained in:
Josh Wilson 2007-07-28 00:53:03 +00:00
parent 0fe56bd0a9
commit edeaeabd87

View File

@ -295,7 +295,7 @@ class Transitions:
##################################################
def loadLetterbox(self):
if self.letterbox == None:
if not self.letterbox:
# We create a DirectFrame for the fade polygon, instead of
# simply loading the polygon model and using it directly,
# so that it will also obscure mouse events for objects
@ -356,7 +356,7 @@ class Transitions:
# masad: always place these at the bottom of render
self.letterboxTop.setBin('sorted',0)
self.letterboxBottom.setBin('sorted',0)
self.letterbox.reparentTo(render2d, -1)
def noLetterbox(self):
"""
Removes any current letterbox tasks and parents the letterbox polygon away
@ -364,8 +364,8 @@ class Transitions:
if self.letterboxIval:
self.letterboxIval.pause()
self.letterboxIval = None
if self.letterbox != None:
self.letterbox.detachNode()
if self.letterbox:
self.letterbox.stash()
def letterboxOn(self, t=0.25, finishIval=None):
"""
@ -373,23 +373,25 @@ class Transitions:
"""
self.noLetterbox()
self.loadLetterbox()
self.letterbox.reparentTo(render2d, -1)
self.letterbox.unstash()
if (t == 0):
self.letterboxBottom.setPos(0, 0, -1)
self.letterboxTop.setPos(0, 0, 0.8)
else:
self.letterboxIval = Sequence(Parallel(LerpPosInterval(self.letterboxBottom, t,
pos = Vec3(0, 0, -1),
startPos = Vec3(0, 0, -1.2)),
LerpPosInterval(self.letterboxTop, t,
pos = Vec3(0, 0, 0.8),
startPos = Vec3(0, 0, 1)),
#LerpColorInterval(self.letterbox, t,
# color = self.alphaOn,
# startColor = self.alphaOff),
),
name = self.letterboxTaskName,
)
self.letterboxIval = Sequence(Parallel(
LerpPosInterval(self.letterboxBottom,
t,
pos = Vec3(0, 0, -1),
#startPos = Vec3(0, 0, -1.2),
),
LerpPosInterval(self.letterboxTop,
t,
pos = Vec3(0, 0, 0.8),
# startPos = Vec3(0, 0, 1),
),
),
name = self.letterboxTaskName,
)
if finishIval:
self.letterboxIval.append(finishIval)
self.letterboxIval.start()
@ -400,19 +402,25 @@ class Transitions:
"""
self.noLetterbox()
self.loadLetterbox()
self.letterbox.unstash()
if (t == 0):
self.letterbox.detachNode()
self.letterbox.stash()
else:
# self.letterbox.reparentTo(render2d, FADE_SORT_INDEX)
self.letterboxIval = Sequence(Parallel(LerpPosInterval(self.letterboxBottom, t,
pos = Vec3(0, 0, -1.2),
startPos = Vec3(0, 0, -1)),
LerpPosInterval(self.letterboxTop, t,
pos = Vec3(0, 0, 1),
startPos = Vec3(0, 0, 0.8)),
),
name = self.letterboxTaskName,
)
self.letterboxIval = Sequence(Parallel(
LerpPosInterval(self.letterboxBottom,
t,
pos = Vec3(0, 0, -1.2),
# startPos = Vec3(0, 0, -1),
),
LerpPosInterval(self.letterboxTop,
t,
pos = Vec3(0, 0, 1),
# startPos = Vec3(0, 0, 0.8),
),
),
Func(self.letterbox.stash),
name = self.letterboxTaskName,
)
if finishIval:
self.letterboxIval.append(finishIval)
self.letterboxIval.start()