mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-03 18:31:55 -04:00
Allow ability to specify fade color
This commit is contained in:
parent
e62c5be544
commit
d0b48e81b8
@ -13,6 +13,7 @@ class Transitions:
|
||||
def __init__(self, loader):
|
||||
self.iris = None
|
||||
self.fade = None
|
||||
self.fadeColor = Vec3(0)
|
||||
|
||||
self.irisTaskName = "irisTask"
|
||||
self.fadeTaskName = "fadeTask"
|
||||
@ -41,9 +42,12 @@ class Transitions:
|
||||
else:
|
||||
# Create a sequence that lerps the color out, then
|
||||
# parents the fade to hidden
|
||||
r = self.fadeColor[0]
|
||||
g = self.fadeColor[1]
|
||||
b = self.fadeColor[2]
|
||||
task = Task.sequence(
|
||||
self.fade.lerpColor(0,0,0,1,
|
||||
0,0,0,0,
|
||||
self.fade.lerpColor(r,g,b,1,
|
||||
r,g,b,0,
|
||||
t),
|
||||
Task.Task(self.__fadeInLerpDone))
|
||||
# Spawn the sequence
|
||||
@ -73,18 +77,21 @@ class Transitions:
|
||||
self.loadFade()
|
||||
self.fade.reparentTo(aspect2d, FADE_SORT_INDEX)
|
||||
|
||||
r = self.fadeColor[0]
|
||||
g = self.fadeColor[1]
|
||||
b = self.fadeColor[2]
|
||||
if (t == 0):
|
||||
# Fade out immediately with no lerp
|
||||
self.fade.setColor(0,0,0,1)
|
||||
self.fade.setColor(r,g,b,1)
|
||||
else:
|
||||
# Spawn a lerp of the color from no alpha to full alpha
|
||||
if not block:
|
||||
self.fade.lerpColor(0,0,0,0,
|
||||
0,0,0,1,
|
||||
self.fade.lerpColor(r,g,b,0,
|
||||
r,g,b,1,
|
||||
t, task=self.fadeTaskName)
|
||||
else:
|
||||
return self.fade.lerpColor(0,0,0,0,
|
||||
0,0,0,1,
|
||||
return self.fade.lerpColor(r,g,b,0,
|
||||
r,g,b,1,
|
||||
t)
|
||||
|
||||
def fadeScreen(self, alpha=0.5):
|
||||
@ -96,7 +103,11 @@ class Transitions:
|
||||
self.noTransitions()
|
||||
self.loadFade()
|
||||
self.fade.reparentTo(aspect2d, FADE_SORT_INDEX)
|
||||
self.fade.setColor(0,0,0,alpha)
|
||||
|
||||
self.fade.setColor(self.fadeColor[0],
|
||||
self.fadeColor[1],
|
||||
self.fadeColor[2],
|
||||
alpha)
|
||||
|
||||
def fadeScreenColor(self, color):
|
||||
"""
|
||||
@ -107,7 +118,7 @@ class Transitions:
|
||||
self.noTransitions()
|
||||
self.loadFade()
|
||||
self.fade.reparentTo(aspect2d, FADE_SORT_INDEX)
|
||||
self.fade.setColor(color)
|
||||
self.fade.setColor(color)
|
||||
|
||||
def fadeOutTask(self, task, time=0.3, noFade=1):
|
||||
"""
|
||||
@ -134,6 +145,9 @@ class Transitions:
|
||||
taskMgr.remove(self.fadeTaskName)
|
||||
if self.fade != None:
|
||||
self.fade.reparentTo(hidden)
|
||||
|
||||
def setFadeColor(self, r, g, b):
|
||||
self.fadeColor.set(r,g,b)
|
||||
|
||||
def __irisInLerpDone(self, task):
|
||||
# This is a helper function to the fadeIn sequence
|
||||
|
Loading…
x
Reference in New Issue
Block a user