*** empty log message ***

This commit is contained in:
Samir Naik 2005-10-14 23:11:12 +00:00
parent 9601c8c2cb
commit 1ee6f991db
1 changed files with 46 additions and 14 deletions

View File

@ -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: