I want to make a back button, but I'm not really sure how to do this. I did some research and some people said you need an array. I've never made an array before. Everyone of my frames have a label and multiple ways to get to that frame. Can anyone help me with this? Any help would be appreciated, thank you.
The array will be a list of your steps
define the array:
var myBackList:Array=new Array();
now every time it you change to another frame, add to the list (array) the label name of the frame
i.e.
myButtonGoToFirstSection.addEventListener(MouseEvent.CLICK, gotoFirstSection)
function gotoFirstSection(e:MouseEvent):void{
gotoAndStop("FirstSeccion")
myBackList.push("FirstSeccion") //this add the the label to the array
}
then the code to the back button is:
myBackButton.addEventListener(MouseEvent.CLICK, goBack)
function goBack(e:MouseEvent):void{
gotoAndStop(myBackList.pop())
}
Ok I have a problem with the back button.
Example frame 1, frame 2, frame 3, frame 4, frame 5
I start at frame 1 and go to 2, 3, 4, and then 5. It will only let me go back to frame 2. So if I start going forward again from frame 2 and go to 3, 4, and then 5. I can only go back to frame 3.
I think the problem is it removes the frames before entering the current frame. How do I fix this?
Thanks in advance - John
stop();
var myBackList:Array=new Array();
bioBut.addEventListener(MouseEvent.CLICK, gotoBiographies);
overviewBut.addEventListener(MouseEvent.CLICK, gotoOverview);
commemorationBut.addEventListener(MouseEvent.CLICK, gotoCommemoration);
GettingStartedButt.addEventListener(MouseEvent.CLICK, gotoAboutTheLesson);
myBackButton.addEventListener(MouseEvent.CLICK, goBack);
function gotoBiographies(event:MouseEvent):void
{
gotoAndStop("bios");
myBackList.push("bios");
}
function gotoOverview(event:MouseEvent):void
{
gotoAndStop("overview");
myBackList.push("overview");
}
function gotoCommemoration(event:MouseEvent):void
{
gotoAndStop("commemorationFrame");
myBackList.push("commemorationFrame");
}
function gotoAboutTheLesson(event:MouseEvent):void
{
gotoAndStop("aboutTheLesson");
myBackList.push("aboutTheLesson");
}
function goBack(e:MouseEvent):void
{
gotoAndStop(myBackList.pop());
}
stop();
var myBackList:Array=new Array();
bioBut.addEventListener(MouseEvent.CLICK, gotoBiographies);
overviewBut.addEventListener(MouseEvent.CLICK, gotoOverview);
commemorationBut.addEventListener(MouseEvent.CLICK, gotoCommemoration);
GettingStartedButt.addEventListener(MouseEvent.CLICK, gotoAboutTheLesson);
myBackButton.addEventListener(MouseEvent.CLICK, goBack);
function gotoBiographies(event:MouseEvent):void {
gotoAndStop("bios");
myBackList.push("bios");
trace(myBackList)
}
function gotoOverview(event:MouseEvent):void {
gotoAndStop("overview");
myBackList.push("overview");
trace(myBackList)
}
function gotoCommemoration(event:MouseEvent):void {
gotoAndStop("commemorationFrame");
myBackList.push("commemorationFrame");
trace(myBackList)
}
function gotoAboutTheLesson(event:MouseEvent):void {
gotoAndStop("aboutTheLesson");
myBackList.push("aboutTheLesson");
trace(myBackList)
}
function goBack(e:MouseEvent):void {
trace(myBackList);
var frameGo:String=myBackList.pop();
(currentLabel==frameGo)?gotoAndStop(myBackList.pop()):gotoAndStop(fra meGo);
trace(myBackList);
trace("---------");
}
Thanks for your help, kglad came up with a slightly different solution with booleans. Again thank you for your help. Heres what he came up with:
stop();
var myBackList:Array=new Array();
var backFrame:*;
var forwardFrame:* = 1;
var addForwardBool:Boolean = false;
var addBackBool:Boolean = false;
myBackList.push(1);
bioBut.addEventListener(MouseEvent.CLICK, gotoBiographies);
overviewBut.addEventListener(MouseEvent.CLICK, gotoOverview);
commemorationBut.addEventListener(MouseEvent.CLICK, gotoCommemoration);
GettingStartedButt.addEventListener(MouseEvent.CLICK, gotoAboutTheLesson);
function gotoBiographies(event:MouseEvent):void
{
addForwardBool=true;
addFrameF();
forwardFrame="bios";
gotoAndStop("bios");
}
function gotoOverview(event:MouseEvent):void
{
addForwardBool=true;
addFrameF();
forwardFrame="overview";
gotoAndStop("overview");
}
function gotoCommemoration(event:MouseEvent):void
{
addForwardBool=true;
addFrameF();
forwardFrame="commemorationFrame";
gotoAndStop("commemorationFrame");
}
function gotoAboutTheLesson(event:MouseEvent):void
{
addForwardBool=true;
addFrameF();
forwardFrame="aboutTheLesson";
gotoAndStop("aboutTheLesson");
}
function goBack(e:MouseEvent):void
{
backFrame=myBackList.pop();
if(backFrame)
{
addBackBool=true;
gotoAndStop(backFrame);
}
}
function addFrameF():void
{
if (forwardFrame && addForwardBool)
{
myBackList.push(forwardFrame);
}
if (backFrame && addBackBool)
{
myBackList.push(backFrame);
}
addBackBool=false;
addForwardBool=false;
}
North America
Europe, Middle East and Africa
Asia Pacific