mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-18 12:43:44 -04:00
"let letterbox maintain its position if the on/off ival gets paused"
This commit is contained in:
parent
0fe56bd0a9
commit
edeaeabd87
@ -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()
|
||||
|
Loading…
x
Reference in New Issue
Block a user