PDA

View Full Version : Tweening with transitions, garbage collected, freezes. Help!



Nietsllah
August 13th, 2009, 04:32 AM
Hi!
I'm a newbie to AS3 and having problems with garbage being collected through my tweening through transitions between external swf's. Symptom: Freezes halfway in a transition.

Here's my code:

import fl.transitions.*;
import fl.transitions.easing.*;

var p1:page1 = new page1;
var p2:page2 = new page2;
var p3:page3 = new page3;
var p4:page4 = new page4;
var p5:page5 = new page5;

pageContainer_mc.addChild(p1);
var btn1Intro:Tween = new Tween(pageContainer_mc, "alpha", Strong.easeOut, 0, 1, 1, true);
stop();

mainmenu_mc.btn_mc.addEventListener(MouseEvent.CLI CK, btn1Click);
mainmenu_mc.btn_mc1.addEventListener(MouseEvent.CL ICK, btn2Click);
mainmenu_mc.btn_mc2.addEventListener(MouseEvent.CL ICK, btn3Click);
mainmenu_mc.btn_mc3.addEventListener(MouseEvent.CL ICK, btn4Click);
mainmenu_mc.btn_mc4.addEventListener(MouseEvent.CL ICK, btn5Click);

function btn1Click (event:MouseEvent):void {

var btn1Outro:Tween = new Tween(pageContainer_mc, "alpha", Strong.easeOut, 1, 0, 1, true);
btn1Outro.addEventListener(TweenEvent.MOTION_FINIS H, runBtn1Transition)
function runBtn1Transition (event:TweenEvent):void {
pageContainer_mc.removeChildAt(0);
pageContainer_mc.addChild(p1);
var btn1Intro:Tween = new Tween(pageContainer_mc, "alpha", Strong.easeOut, 0, 1, 1, true);
}
}
function btn2Click (event:MouseEvent):void {

var btn2Outro:Tween = new Tween(pageContainer_mc, "alpha", Strong.easeOut, 1, 0, 1, true);
btn2Outro.addEventListener(TweenEvent.MOTION_FINIS H, runBtn2Transition);
function runBtn2Transition (event:TweenEvent):void {
pageContainer_mc.removeChildAt(0);
pageContainer_mc.addChild(p2);
var btn2Intro:Tween = new Tween(pageContainer_mc, "alpha", Strong.easeOut, 0, 1, 1, true);
}
}
ETC....

How can I rewrite this code so it won't freeze in transitions? Examples would be much appreciated!

Thanks!