Skip to main content
December 19, 2013
Question

Make Back button in Movie Clip ?

  • December 19, 2013
  • 1 reply
  • 884 views

Im tryign to make a back button in my  program but it is not working

here is my code

I have to buttons on my movie clip called jupiterback and bb which are instances

Header 1

  public class Main extends MovieClip

    {

     

        var hp:HomePage;

        var sp:StartPage;

        var sunP:SunPage ;

        var jupiterP:JupiterPage;

        var vx:Number;

        var vy:Number;

        var speed:int;

        var score:Number;

        var aship:Ship = new Ship();

        var s1:Sun = new Sun();

        var j1:Jupiter = new Jupiter ();

        public function Main()

        {

             sp = new StartPage();

             hp = new HomePage();

             sunP = new SunPage();

             jupiterP = new JupiterPage();

            vx = 0;

            vy = 0;

            score = 0;

           

           

            addEventListener(KeyboardEvent.KEY_UP, onKeyUp);

            addEventListener(Event.ENTER_FRAME, onEnterFrameSun);

            addEventListener(Event.ENTER_FRAME, onEnterFrameJupiter);

      

            // Start Page Event Listener

            sp.sb.addEventListener(MouseEvent.CLICK, onStartButtonClick);

            addEventListener(MouseEvent.CLICK, onStartButtonClick);

            stage.addEventListener(KeyboardEvent.KEY_DOWN, keyHit);

            addChild (sp); 

           

         

            jupiterP.bb.addEventListener(MouseEvent.CLICK, onBackButtonClickJupiter);

           

            jupiterP.jupiterback.addEventListener(MouseEvent.CLICK, onBackButtonClickJupiter);

            addEventListener(MouseEvent.CLICK, onBackButtonClickJupiter);

        }

       

      

       

        function onBackButtonClickJupiter(event:MouseEvent):void

        {

           

            if (jupiterP != null && contains(jupiterP)) {

                removeChild(this.sp.homePage.jupiterP);

                addChild(hp);

            }

// Ive tried this method too but doesnt work

function onBackButtonClick_Jupiter(event:MouseEvent):void

        {

            addChild(hp);

            removeChild(jupiterP);

        }

This topic has been closed for replies.

1 reply

December 19, 2013

These are the errors it gives me

ArgumentError: Error #2025: The supplied DisplayObject must be a child of the caller.

    at flash.display::DisplayObjectContainer/removeChild()

    at Main/onEnterFrameJupiter()[Desktop\Main.as:229]

ArgumentError: Error #2025: The supplied DisplayObject must be a child of the caller.

Ned Murphy
Legend
December 19, 2013

I don't see where you ever addjupiterP as a child.  If you don't add it, it cannot be removed.

December 19, 2013

i have a start page that has jupiterP inside it its called hp

when i click my startbutton hp opens up. I have a ship the ship moves to the planet jupiter and upon hitTest jupiterP opens up now i want to get back to hp using a button

function onStartButtonClick(event:MouseEvent): void

        {

           

            if (contains (sp))

               

            {

            removeChild(sp);

            addChild(hp);

           

            }