Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
?
Solved

movie clip play in reverse with as3

Posted on 2008-10-30
6
Medium Priority
?
8,132 Views
Last Modified: 2013-11-11
i want to be able to make a movie clip play in reverse when a separate button is clicked.

i have the attached code but it only moves the movie clip back one frame at a time:

can someone tell me how to make the movie clip play all the way back to first frame and stop?

thanks
closeBtn.addEventListener(MouseEvent.MOUSE_UP, closemask);
 
function closemask(event:MouseEvent):void
{
    if (masktest1.currentFrame == 1)
    {
        masktest1.gotoAndStop(masktest1.totalFrames);
    }
    else
    {
        masktest1.prevFrame();
    }
}

Open in new window

0
Comment
Question by:flashdope
  • 3
  • 3
6 Comments
 
LVL 1

Expert Comment

by:trypt
ID: 22865086
you should use Event.ENTER_FRAME inside your function called by closeBtn, here's the example:
closeBtn.addEventListener(MouseEvent.MOUSE_UP, closemask);
 
function closemask(e:MouseEvent):void
{
    masktest1.addEventListener(Event.ENTER_FRAME, playMe);
    function playMe(e:Event):void
    {
        if(e.target.currentFrame == 1)
        {
            e.target.gotoAndStop(e.target.totalFrames);
            e.target.removeEventListener(Event.ENTER_FRAME, playMe);
        }
        else
        {
            e.target.prevFrame();
        }
    }
}

Open in new window

0
 

Author Comment

by:flashdope
ID: 22871387
hey trypt,

thanks for this. it works except it didnt stop when it got back to frame 1 so i changed "e.target.gotoAndStop(e.target.totalFrames);" to "e.target.gotoAndStop(1);" which seems to work.
i have a follow-up question:

my movie clip instance name is now yelltail
inside that movie clip is a button called backBtn1

if i want to target 'backBtn1' from the main timeline instead of inside the movie clip, how would i do that? i tried the attached but it didnt work.


yelltail.backBtn1.addEventListener(MouseEvent.MOUSE_UP, closemask);
 
function closemask(e:MouseEvent):void
{
    yelltail.backBtn1.addEventListener(Event.ENTER_FRAME, playMe);
    function playMe(e:Event):void
    {
        if(e.target.currentFrame == 1)
        {
            e.target.gotoAndStop(1);
            e.target.removeEventListener(Event.ENTER_FRAME, playMe);
        }
        else
        {
            e.target.prevFrame();
        }
    }
} 

Open in new window

0
 
LVL 1

Expert Comment

by:trypt
ID: 22875366
what do u mean by target backBtn1 from the main timeline?
backBtn1 is yelltail's child isn't it?
do u mean u want to remove backBtn1 from yelltail's child list and add it to the main timeline?
0
Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

 

Author Comment

by:flashdope
ID: 22876216
no i mean i want to put my code on the main timeline rather than on the movie clip's timeline.
0
 
LVL 1

Accepted Solution

by:
trypt earned 1500 total points
ID: 22877962
oh... ok, so when backBtn1 is clicked, which movieclip will play backwards?
yelltail? if it is then the code should be like this...

yelltail.bakBtn1.addEventListener(MouseEvent.MOUSE_UP, closemask);
 
function closemask(e:MouseEvent):void
{
    e.target.parent.addEventListener(Event.ENTER_FRAME, playMe);
    function playMe(e:Event):void
    {
        if(e.target.currentFrame == 1)
        {
            e.target.gotoAndStop(1);
            e.target.removeEventListener(Event.ENTER_FRAME, playMe);
        }
        else
        {
            e.target.prevFrame();
        }
    }
}

Open in new window

0
 

Author Comment

by:flashdope
ID: 22878607
sorry trypt but this isnt working. no error messages, the button goes to its rollover state, but it doesnt work.

i'm attaching the rest of the code on the frame in case you can see a conflict. this site wont let me attach the file.

any ideas?
stop();
 
 
 
yelltail.stop();
 
 
var topDepth = 20;
var bottomDepth = 19;
 
ytBtn.addEventListener(MouseEvent.MOUSE_UP, up);
 
function up(event:MouseEvent) {
        var thisIndex = getChildIndex(yelltail);
        setChildIndex(yelltail, topDepth);
}
 
ytBtn.addEventListener(MouseEvent.MOUSE_UP, scalemask);
 
function scalemask(event:MouseEvent) {
	yelltail.play();		
}
 
 
 
yelltail.backBtn1.addEventListener(MouseEvent.MOUSE_UP, closemask);
 
function closemask(e:MouseEvent):void
{
    e.target.parent.addEventListener(Event.ENTER_FRAME, playMe);
    function playMe(e:Event):void
    {
        if(e.target.currentFrame == 1)
        {
            e.target.gotoAndStop(1);
            e.target.removeEventListener(Event.ENTER_FRAME, playMe);
        }
        else
        {
            e.target.prevFrame();
        }
    }
}

Open in new window

0

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

This is a very simple example to help those of you who are still migrating from AS2 to AS3 understand the redesigned event model in AS3. In AS2.0, event functions (that is, the function to be performed when an event is fired) were stored as a pro…
This article describes a solution to a problem of subloading one movie into another when they have different SWF versions. Sometime back, I was working on an ActionScript project while I came across an interesting fact which I would like to share…
The goal of the tutorial is to teach the user how to how to record live broadcast.
The goal of the tutorial is to teach the user how to set there setting in Adobe Flash Media Live Encoder and YouTube for optimal video and audio quality.
Suggested Courses

580 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