Solved

Transitioning between content MC's in AS3?

Posted on 2009-05-19
4
619 Views
Last Modified: 2013-11-11
Hi, im currently trying to make the jump from as2 to as3...which happens to be not so easy; who would have thought.So my question is:

i have multiple menu buttons on the stage: btn_home, btn_contact etc
and each btn relates to a content movie clip: mc_home, mc_contact ... these movie clips have  'animateON' & 'animateOFF' sections which are marked by frame labels inside the MC's.

when a menu button is pressed i need the current MC on the stage to play through its 'animateOFF' section, and on completion, the content MC relating to the menu button which was pressed to begin playing through it's 'animateON' section. This way the content MC's will seem to transition between each other.

Seems to me like a pretty generic question but as of yet i have not been able to find any tutorials or resources in regards to AS3?
Cheers.
0
Comment
Question by:simophat
  • 2
4 Comments
 
LVL 9

Expert Comment

by:asaivan
ID: 24423533
What's your AS2 look like?  I can help translate.
0
 
LVL 39

Accepted Solution

by:
blue-genie earned 500 total points
ID: 24424991
Hi, first place to start would be to have a look at listeners.
what you need to do is have a variable to store what's currently playing.
then create a function that you can call from your menu buttons.

are you creating classes or are you doing everything on the timeline?
you'll need something along these lines

import flash.events.MouseEvent;

var currentMovieClip:MovieClip;
btn_home.addEventListener(MouseEvent.CLICK, doItem);

function doItem(ev:MouseEvent):void
{
            home_mc.gotoAndPlay("animateOff");
}
0
 

Author Comment

by:simophat
ID: 24428049
Thanks for your help guys, i found a tutorial on dorklessons.com (for real) and the script read as below.

Also on the last frame inside each content MC (ie. menu1, menu2) there was the code to call the next intro after the current outro had finished playing:

var theRoot:MovieClip = MovieClip(root);
theRoot.current.gotoAndPlay("intro");

now all i have to do is incorporate some deep linking in with this code and i will be good to go...



var current:MovieClip = menu1;

current.gotoAndPlay("intro");
 

button.addEventListener(MouseEvent.CLICK, clickHandler);

button2.addEventListener(MouseEvent.CLICK, clickHandler);
 

function clickHandler(e:MouseEvent):void

{

	current.gotoAndPlay("outro");

	switch(e.target.name)

	{

	case"button":

	current = menu1;

	break;

	

	case"button2":

	current = menu2;

	break;

	}

}

	

	

Open in new window

0
 
LVL 9

Expert Comment

by:asaivan
ID: 24432762
When you say deep linking are you talking about browser integration.
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

I come across a lot of question about how to access things in the document class from a movieclip, or accessing something from a movieclip in the document class. It took me a while to figure this out but once I did it makes life so much easier. …
I have been doing hardcore actionscripting for some time; and needless to say I have faced a lot of problems in just understanding others' code rather than understanding what the code executes. A programmer's life can become hell when there are a lo…
The goal of the tutorial is to teach the user how to live broadcast using Flash Media Live Encoder and connecting it to YouTube to broadcast. Log into your Youtube account, choose live stream settings, start live stream from Flash Media Live Enc…
The goal of the tutorial is to teach the user how to how to load their YouTube profile onto Flash Media Live Encoder.

911 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

21 Experts available now in Live!

Get 1:1 Help Now