Link to home
Start Free TrialLog in
Avatar of nimuse
nimuse

asked on

AS3 Tween - problem fading two movieclips on top of each other

Hi,

I am trying to achieve what at first seemed a quite simple task:

To get Flash AS3 to dynamically fade a movieclip in, then fade another one over the top, on a different layer. To give a 'slideshow' effect, images being fed by XML...

I have tried different approaches and the deadline is looming.  First I simply loaded the images as childs of a movieclip onto a stack, and faded them in - this worked OK, but kept 'hanging'/ not working properly when live.

so I'm exploring using two 'layers' - one on top of the other, that fade in/out - I set up a similar thing on the timeline with a movie in the old days!

Again, Flash seems to be tripping up with the 'Tween' - not rendering the scene when I have two tweens on stage at the same time.

Please help!

If there is a better 'Tween' component you can recommend that can definately handle two or more tweens at the same time?

Have a look at my code - can you see where there may be an issue - all the variables are being fed from local Arrays, that are built from XML data?

Please help!

Nick





public function sc_2_image_bg_in():void{
							var thisLoader:Loader = new Loader();
							thisLoader.load(new URLRequest(sc_2_bg_img_Arr[sc_2_bg_counter]));
							sc_2_image_bg.addChild(thisLoader);
							var sc_2_img_in = new Tween(thisLoader, "alpha", Strong.easeOut, 0, 1, pace_arr[sc_2_bg_counter], false);
								sc_2_img_in.addEventListener(TweenEvent.MOTION_STOP, sc_2_image_fg_in);
							sc_2_bg_counter++;
							}
							
						public function sc_2_image_bg_out(e:TweenEvent):void{
							var sc_2_bg_img_out = new Tween(sc_2_image_bg, "alpha", Strong.easeOut, 1, 0, pace_arr[sc_2_bg_counter], false);
								sc_2_bg_img_out.stop();
								sc_2_bg_img_out.addEventListener(TweenEvent.MOTION_START, sc_2_image_fg_in);
								sc_2_bg_img_out.start();
								
								
									//var sc_2_fg_img_in = new Tween(sc_2_image_fg, "alpha", Strong.easeOut, 0, 1, pace_arr[sc_2_bg_counter], false);
								//sc_2_bg_img_out.addEventListener(TweenEvent.MOTION_STOP, sc_2_image_remove);
								
							}
						public function sc_2_image_remove(e:TweenEvent):void{
							sc_2_image_bg.removeChildAt(0);//??
							trace(sc_2_image_bg.numChildren);
							}
							
						public function sc_2_image_fg_in(e:TweenEvent):void{
							var thisLoader:Loader = new Loader();
							thisLoader.load(new URLRequest(sc_2_fg_img_Arr[sc_2_fg_counter]));
							sc_2_image_fg.addChild(thisLoader);
							var sc_2_fg_img_in = new Tween(sc_2_image_fg, "alpha", Strong.easeIn, 0, 1, pace_arr[sc_2_fg_counter], false);	
							sc_2_fg_counter++;
							}

Open in new window

ASKER CERTIFIED SOLUTION
Avatar of rascalpants
rascalpants
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial