mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-04 10:54:24 -04:00
added getter functions for fadeIn and fadeOut ivals for use in cutscenes
This commit is contained in:
parent
786af32d44
commit
42a7730537
@ -80,6 +80,42 @@ class Transitions:
|
|||||||
)
|
)
|
||||||
self.fade.setBin('unsorted', 0)
|
self.fade.setBin('unsorted', 0)
|
||||||
|
|
||||||
|
|
||||||
|
def getFadeInIval(self, t=0.5, finishIval=None):
|
||||||
|
"""
|
||||||
|
Returns an interval without starting it. This is particularly useful in
|
||||||
|
cutscenes, so when the cutsceneIval is escaped out of we can finish the fade immediately
|
||||||
|
"""
|
||||||
|
transitionIval = Sequence(Func(self.noTransitions),
|
||||||
|
Func(self.loadFade),
|
||||||
|
Func(self.fade.reparentTo, render2d, FADE_SORT_INDEX),
|
||||||
|
self.lerpFunc(self.fade, t,
|
||||||
|
self.alphaOff,
|
||||||
|
self.alphaOn),
|
||||||
|
Func(self.fade.detachNode),
|
||||||
|
name = self.fadeTaskName,
|
||||||
|
)
|
||||||
|
if finishIval:
|
||||||
|
transitionIval.append(finishIval)
|
||||||
|
return transitionIval
|
||||||
|
|
||||||
|
def getFadeOutIval(self, t=0.5, finishIval=None):
|
||||||
|
"""
|
||||||
|
Create a sequence that lerps the color out, then
|
||||||
|
parents the fade to hidden
|
||||||
|
"""
|
||||||
|
transitionIval = Sequence(Func(self.noTransitions),
|
||||||
|
Func(self.noFade),
|
||||||
|
Func(self.fade.reparentTo,render2d,FADE_SORT_INDEX),
|
||||||
|
self.lerpFunc(self.fade, t,
|
||||||
|
self.alphaOn,
|
||||||
|
self.alphaOff),
|
||||||
|
name = self.fadeTaskName,
|
||||||
|
)
|
||||||
|
if finishIval:
|
||||||
|
transitionIval.append(finishIval)
|
||||||
|
return transitionIval
|
||||||
|
|
||||||
def fadeIn(self, t=0.5, finishIval=None):
|
def fadeIn(self, t=0.5, finishIval=None):
|
||||||
"""
|
"""
|
||||||
Play a fade in transition over t seconds.
|
Play a fade in transition over t seconds.
|
||||||
@ -87,23 +123,15 @@ class Transitions:
|
|||||||
from black to transparent. When the color lerp is finished, it
|
from black to transparent. When the color lerp is finished, it
|
||||||
parents the fade polygon to hidden.
|
parents the fade polygon to hidden.
|
||||||
"""
|
"""
|
||||||
self.noTransitions()
|
|
||||||
self.loadFade()
|
|
||||||
if (t == 0):
|
if (t == 0):
|
||||||
# Fade in immediately with no lerp
|
# Fade in immediately with no lerp
|
||||||
|
self.noTransitions()
|
||||||
|
self.loadFade()
|
||||||
self.fade.detachNode()
|
self.fade.detachNode()
|
||||||
else:
|
else:
|
||||||
# Create a sequence that lerps the color out, then
|
# Create a sequence that lerps the color out, then
|
||||||
# parents the fade to hidden
|
# parents the fade to hidden
|
||||||
self.fade.reparentTo(render2d, FADE_SORT_INDEX)
|
self.transitionIval = self.getFadeInIval(t, finishIval)
|
||||||
self.transitionIval = Sequence(self.lerpFunc(self.fade, t,
|
|
||||||
self.alphaOff,
|
|
||||||
self.alphaOn),
|
|
||||||
Func(self.fade.detachNode),
|
|
||||||
name = self.fadeTaskName,
|
|
||||||
)
|
|
||||||
if finishIval:
|
|
||||||
self.transitionIval.append(finishIval)
|
|
||||||
self.transitionIval.start()
|
self.transitionIval.start()
|
||||||
|
|
||||||
def fadeOut(self, t=0.5, finishIval=None):
|
def fadeOut(self, t=0.5, finishIval=None):
|
||||||
@ -115,22 +143,16 @@ class Transitions:
|
|||||||
fadeIn or call noFade.
|
fadeIn or call noFade.
|
||||||
lerp
|
lerp
|
||||||
"""
|
"""
|
||||||
|
if (t == 0):
|
||||||
|
# Fade out immediately with no lerp
|
||||||
self.noTransitions()
|
self.noTransitions()
|
||||||
self.loadFade()
|
self.loadFade()
|
||||||
self.fade.reparentTo(render2d, FADE_SORT_INDEX)
|
self.fade.reparentTo(render2d, FADE_SORT_INDEX)
|
||||||
if (t == 0):
|
|
||||||
# Fade out immediately with no lerp
|
|
||||||
self.fade.setColor(self.alphaOn)
|
self.fade.setColor(self.alphaOn)
|
||||||
else:
|
else:
|
||||||
# Create a sequence that lerps the color out, then
|
# Create a sequence that lerps the color out, then
|
||||||
# parents the fade to hidden
|
# parents the fade to hidden
|
||||||
self.transitionIval = Sequence(self.lerpFunc(self.fade, t,
|
self.transitionIval = self.getFadeOutIval(t,finishIval)
|
||||||
self.alphaOn,
|
|
||||||
self.alphaOff),
|
|
||||||
name = self.fadeTaskName,
|
|
||||||
)
|
|
||||||
if finishIval:
|
|
||||||
self.transitionIval.append(finishIval)
|
|
||||||
self.transitionIval.start()
|
self.transitionIval.start()
|
||||||
|
|
||||||
def fadeOutActive(self):
|
def fadeOutActive(self):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user