Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

Transitioning between content MC's in AS3?

Posted on 2009-05-19
4
Medium Priority
?
627 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 2000 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

[Webinar] Cloud Security

In this webinar you will learn:

-Why existing firewall and DMZ architectures are not suited for securing cloud applications
-How to make your enterprise “Cloud Ready”, and fix your aging DMZ architecture
-How to transform your enterprise and become a Cloud Enabler

Question has a verified solution.

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

Sometimes you know that one object has a specific child in it, but you can't find the child. This happened to me when I was trying to code some actionScript to make a toolbar work with its embedded buttons.  My partner had created the toolbar usi…
Recently, I was asked to recommend a tracking system to be implemented on a clients website. As the entire site was built on flash, my first thought was to suggest custom built tracking system. However, our company at that point of time didn't h…
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 record live broadcast.

916 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