No such luck using .overwrite variable...
NONE = 0, ALL_IMMEDIATE = 1, AUTO = 2, CONCURRENT = 3, ALL_ONSTART = 4, PREEXISTING = 5
As you can see below I added .overwrite as a variable in the TweenLiteVars object. The basic function of this animation is to fade out the login, resize the box, and fade in the registration. It will do one instance of it however when it plays the second animation which fades out registration, resizes, and goes back to login... the Fade in on the login doesn't work. The effects are setup exactly the same so I can't figure out why it's doing this. Also they shouldn't be accessing the same canvas at the same time. One effect sequence plays and completes... Then they have to click another button to go back to login.
//Dissolve Registration
var dissolveOutVars:TweenLiteVars = new TweenLiteVars();
dissolveOutVars.addProp("alpha", 0);
dissolveOutVars.overwrite = 0;
dissolveOutVars.ease = Quad.easeOut;
dissolveOutVars.onComplete =
function():void{
setDimensions(registerCanvas);
registerCanvas.includeInLayout = false;
registerCanvas.visible = false;
};
var dissolveOutTween:TweenLite = new TweenLite(registerCanvas, fadeDuration, dissolveOutVars);
Here is the code I created using the built in Flex Effects. This code works for me:
private function createRegister():void{
var dissolveOut:Dissolve = new Dissolve(loginCanvas);
dissolveOut.alphaFrom = 1;
dissolveOut.alphaTo = 0;
dissolveOut.duration = fadeDuration;
dissolveOut.targetArea = new RoundedRectangle(0,0,loginCanvas.width,loginCanvas.height,8);
dissolveOut.addEventListener(EffectEvent.EFFECT_END,
function():void{
loginCanvas.includeInLayout = false;
loginCanvas.visible = false;
}
);
var resize:Resize = new Resize(userBox);
resize.heightFrom = loginCanvas.height + borderNumber;
resize.heightTo = registerCanvas.height + borderNumber;
resize.widthFrom = loginCanvas.width + borderNumber;
resize.widthTo = registerCanvas.width + borderNumber;
resize.duration = resizeDuration;
resize.easingFunction = Quadratic.easeOut;
resize.addEventListener(EffectEvent.EFFECT_END,
function():void{
registerCanvas.includeInLayout = true;
registerCanvas.visible = true;
}
);
var dissolveIn:Dissolve = new Dissolve(registerCanvas);
dissolveIn.alphaFrom = 0;
dissolveIn.alphaTo = 1;
dissolveIn.duration = fadeDuration;
dissolveIn.targetArea = new RoundedRectangle(0,0,registerCanvas.width,registerCanvas.height,8);
openRegister = new Sequence();
openRegister.addChild(dissolveOut);
openRegister.addChild(resize);
openRegister.addChild(dissolveIn);
}
private function createLogin():void{
var dissolveOut:Dissolve = new Dissolve(registerCanvas);
dissolveOut.alphaFrom = 1;
dissolveOut.alphaTo = 0;
dissolveOut.duration = fadeDuration;
dissolveOut.targetArea = new RoundedRectangle(0,0,registerCanvas.width,registerCanvas.height,8);
dissolveOut.addEventListener(EffectEvent.EFFECT_END,
function():void{
registerCanvas.includeInLayout = false;
registerCanvas.visible = false;
}
);
var resize:Resize = new Resize(userBox);
resize.heightFrom = registerCanvas.height + borderNumber;
resize.heightTo = loginCanvas.height + borderNumber;
resize.widthFrom = registerCanvas.width + borderNumber;
resize.widthTo = loginCanvas.width + borderNumber;
resize.duration = resizeDuration;
resize.easingFunction = Quadratic.easeOut;
resize.addEventListener(EffectEvent.EFFECT_END,
function():void{
loginCanvas.includeInLayout = true;
loginCanvas.visible = true;
}
);
var dissolveIn:Dissolve = new Dissolve(loginCanvas);
dissolveIn.alphaFrom = 0;
dissolveIn.alphaTo = 1;
dissolveIn.duration = fadeDuration;
dissolveIn.targetArea = new RoundedRectangle(0,0,loginCanvas.width,loginCanvas.height,8);
openLogin = new Sequence();
openLogin.addChild(dissolveOut);
openLogin.addChild(resize);
openLogin.addChild(dissolveIn);
}