*** empty log message ***
This commit is contained in:
parent
9601c8c2cb
commit
1ee6f991db
|
|
@ -11,39 +11,71 @@ class Transitions:
|
|||
IrisModelName = "models/misc/iris"
|
||||
FadeModelName = "models/misc/fade"
|
||||
|
||||
def __init__(self, loader):
|
||||
def __init__(self, loader,
|
||||
model=None,
|
||||
scale=3.0,
|
||||
pos=Vec3(0,0,0)):
|
||||
self.transitionIval = None
|
||||
self.letterboxIval = None
|
||||
self.iris = None
|
||||
self.fade = None
|
||||
self.letterbox = None
|
||||
self.alphaOff = Vec4(0,0,0,0)
|
||||
self.alphaOn = Vec4(0,0,0,1)
|
||||
|
||||
self.fadeModel = model
|
||||
self.imageScale = scale
|
||||
self.imagePos = pos
|
||||
if model:
|
||||
self.alphaOff = Vec4(1,1,1,0)
|
||||
self.alphaOn = Vec4(1,1,1,1)
|
||||
model.setTransparency(1)
|
||||
self.lerpFunc = LerpColorScaleInterval
|
||||
else:
|
||||
self.alphaOff = Vec4(0,0,0,0)
|
||||
self.alphaOn = Vec4(0,0,0,1)
|
||||
self.lerpFunc = LerpColorInterval
|
||||
|
||||
self.irisTaskName = "irisTask"
|
||||
self.fadeTaskName = "fadeTask"
|
||||
self.letterboxTaskName = "letterboxTask"
|
||||
|
||||
def __del__(self):
|
||||
if self.fadeModel:
|
||||
self.fadeModel.removeNode()
|
||||
self.fadeModel = None
|
||||
|
||||
##################################################
|
||||
# Fade
|
||||
##################################################
|
||||
|
||||
# We can set a custom model for the fade before using it for the first time
|
||||
def setFadeModel(self, model, scale=1.0):
|
||||
self.fadeModel = model
|
||||
# We have to change some default parameters for a custom fadeModel
|
||||
self.imageScale = scale
|
||||
self.alphaOn = Vec4(1,1,1,1)
|
||||
|
||||
# Reload fade if its already been created
|
||||
if self.fade:
|
||||
del self.fade
|
||||
self.fade = None
|
||||
self.loadFade()
|
||||
|
||||
def loadFade(self):
|
||||
if not self.fadeModel:
|
||||
self.fadeModel = loader.loadModel(self.FadeModelName)
|
||||
|
||||
if self.fade == None:
|
||||
# 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
|
||||
# positioned behind it.
|
||||
fadeModel = loader.loadModel(self.FadeModelName)
|
||||
self.fade = DirectFrame(
|
||||
parent = hidden,
|
||||
guiId = 'fade',
|
||||
relief = None,
|
||||
image = fadeModel,
|
||||
image_scale = 3.0,
|
||||
image = self.fadeModel,
|
||||
image_scale = self.imageScale,
|
||||
state = NORMAL,
|
||||
)
|
||||
fadeModel.removeNode()
|
||||
|
||||
def fadeIn(self, t=0.5, finishIval=None):
|
||||
"""
|
||||
|
|
@ -61,9 +93,9 @@ class Transitions:
|
|||
# Create a sequence that lerps the color out, then
|
||||
# parents the fade to hidden
|
||||
self.fade.reparentTo(aspect2d, FADE_SORT_INDEX)
|
||||
self.transitionIval = Sequence(LerpColorInterval(self.fade, t,
|
||||
color = self.alphaOff,
|
||||
startColor = self.alphaOn),
|
||||
self.transitionIval = Sequence(self.lerpFunc(self.fade, t,
|
||||
self.alphaOff,
|
||||
self.alphaOn),
|
||||
Func(self.fade.detachNode),
|
||||
name = self.fadeTaskName,
|
||||
)
|
||||
|
|
@ -89,9 +121,9 @@ class Transitions:
|
|||
else:
|
||||
# Create a sequence that lerps the color out, then
|
||||
# parents the fade to hidden
|
||||
self.transitionIval = Sequence(LerpColorInterval(self.fade, t,
|
||||
color = self.alphaOn,
|
||||
startColor = self.alphaOff),
|
||||
self.transitionIval = Sequence(self.lerpFunc(self.fade, t,
|
||||
self.alphaOn,
|
||||
self.alphaOff),
|
||||
name = self.fadeTaskName,
|
||||
)
|
||||
if finishIval:
|
||||
|
|
|
|||
Loading…
Reference in New Issue