-
1. Re: Removing a Button Event Listener on a Specific Frame and Reactivating it on Next Frame
Ned Murphy Nov 4, 2014 7:33 AM (in response to navigator81)Show the code you are using for that button for the different frames.
-
2. Re: Removing a Button Event Listener on a Specific Frame and Reactivating it on Next Frame
navigator81 Nov 4, 2014 5:00 PM (in response to Ned Murphy)Hello Ned,
I have fixed the issue with few Frame , but where we have the conditions to be met on two consecutive frames , I am not able to achieve that.
here is the Code on my first Frame.
FRAME1
stop();
slidecounter.text = String(this.currentFrame - 1 + "/" + indexframe);
mc_prog.width = 0;
/////////////////////////////////////////////////////////////////////////////////
//LIBRARIES TO BE IMPORTED ///////////////////////////////////////////////////////////
import flash.events.MouseEvent;
//VARIALBLES INITIATED
var score:Number = 0;
var questions:Number = 0;
var qtotal:Number = 11;
var attempt:Number = 0;
var indexframe:int;
indexframe = this.totalFrames - 1;
var notes:Array = new Array();
var count:int;
count = 0;
var backcounter:int;
backcounter = 0;var count2:int;
count2 = 0;
var backcounter2:int;
backcounter2 = 0;var count3:int;
count3 = 0;
var backcounter3:int;
backcounter3 = 0;// MOVIE CLIPS INITITATED ////////////////////////////////////////////////////////////////
var volbutton1:volcontrol;//VOLUME BUTTON ROLLOVER MOVIE CLIP
volbutton1 = new volcontrol();var clist:courselist;//VOLUME COURSE LIST ROLLOVER MOVIE CLIP
clist = new courselist();var pop1:Mc_slide9 = new Mc_slide9;
pop1 = new Mc_slide9;
var pop2:Mc_slide13 = new Mc_slide13;
pop2 = new Mc_slide13;
var pop3:Mc_slide17 = new Mc_slide17;
pop3 = new Mc_slide17;//BUTTONS INITIATED
btn_nxt.addEventListener(MouseEvent.CLICK, fl_ClickToGoToNextFrame);//NEXT SLIDE BUTTON
btn_bck.addEventListener(MouseEvent.CLICK, backbtn);//BACK BUTTON
btn_loc.addEventListener(MouseEvent.CLICK, fl_ClickToGoToWebPage); //LIST OF COURSES BUTTON
btn_notice1.addEventListener(MouseEvent.CLICK, loadnotice1);
pop1.closebtn.addEventListener(MouseEvent.CLICK, unloadbtn1);
btn_notice2.addEventListener(MouseEvent.CLICK, loadnotice2);
pop2.closebtn.addEventListener(MouseEvent.CLICK, unloadbtn2);
btn_notice3.addEventListener(MouseEvent.CLICK, loadnotice3);
pop3.closebtn.addEventListener(MouseEvent.CLICK, unloadbtn3);//VOLUME BUTTON ROLL OVER FUNCTION EVENT LISTENERS ///////////////////////////////////////
btn_vol.addEventListener(MouseEvent.ROLL_OVER,vol);
btn_vol.addEventListener(MouseEvent.ROLL_OUT,volout);
btn_loc.addEventListener(MouseEvent.ROLL_OVER,coursel);
btn_loc.addEventListener(MouseEvent.ROLL_OUT,corlist);// FUNCTIONS INITIATED /////////////////////////////////////////////////////////////////
function fl_ClickToGoToNextFrame(event: MouseEvent): void
{
nextFrame();
}
function backbtn(event:MouseEvent):void{
prevFrame();
}
function fl_ClickToGoToWebPage(event: MouseEvent): void {
navigateToURL(new URLRequest("https://www.onlineinduction.com/fmgl/courselist.php?ist=2&type=Vendor Employee Inductions"), "_self");
}
/////////////////////////////////////////////////////////////////////
//VOLUME BUTTON ROLLOVER EFFECT FUNCTION
function vol(e:MouseEvent):void
{
addChild(volbutton1);
//popup_instance.width = 675;
//popup_instance.height = 300;
if(this.currentFrame == 2)
{
volbutton1.x = 150;
volbutton1.y = 528;
}
else{
volbutton1.x = 278;
volbutton1.y = 528;
}
}function volout (e:MouseEvent):void {
removeChild(volbutton1);
}
function coursel(e:MouseEvent):void {
addChild(clist);
if(this.currentFrame == 2)
{
clist.x = 85;
clist.y = 532;
}
else if(this.currentFrame == 5){
clist.x = 115;
clist.y = 325;
}
else{
clist.x = 175;
clist.y = 532;
}
}function corlist (e:MouseEvent):void {
removeChild(clist);
}////////////////////////////////////////////////////////////////////////////////////
function loadnotice1(Event:MouseEvent):void//FRAME 9 FUNCTION FOR IMPORTANT NOTICE
{
if ( count == 1 && stage.contains(pop1))
{
removeChild(pop1);
}
if(count == 1)
{
nextFrame();
}
else
{
addChild(pop1);
pop1.x = 40;
pop1.y = 120;
count = 1;
}
trace("Counter Value:" + count);
}
function loadnotice2(Event:MouseEvent):void//FRAME 9 FUNCTION FOR IMPORTANT NOTICE
{
if ( count2 == 1 && stage.contains(pop2))
{
removeChild(pop2);
}
if(count == 2)
{
nextFrame();
}
else
{
addChild(pop2);
pop2.x = 40;
pop2.y = 120;
count2 = 1;
}
trace("Counter Value:" + count);
}
//////////////////////////////////////////////////
function loadnotice3(Event:MouseEvent):void//FRAME 9 FUNCTION FOR IMPORTANT NOTICE
{
if ( count3 == 1 && stage.contains(pop3))
{
removeChild(pop3);
}
if(count == 3)
{
nextFrame();
}
else
{
addChild(pop3);
pop2.x = 40;
pop2.y = 120;
count2 = 1;
}
trace("Counter Value:" + count);
}
///////////////////////////////////////////////////////function nextframe9(event: MouseEvent): void
{
if(count == 1 && stage.contains(pop1) )
{
removeChild(pop1);
}
if(count == 1)
{
nextFrame();
}
else
{
addChild(pop1);
pop1.x = 40;
pop1.y = 120;
count = 1;
}}
function nextframe13(event: MouseEvent): void
{
if(count2 == 1 && stage.contains(pop2) )
{
removeChild(pop2);
}
if(count2 == 1)
{
nextFrame();
}
else
{
addChild(pop2);
pop2.x = 40;
pop2.y = 120;
count2 = 1;
}}
///////////////////////////////////////////////////////function nextframe17(event: MouseEvent): void
{
if(count3 == 1 && stage.contains(pop3) )
{
removeChild(pop3);
}
if(count3 == 1)
{
nextFrame();
}
else
{
addChild(pop3);
pop3.x = 40;
pop3.y = 120;
count3 = 1;
}}
//////////////////////////////////////////////////////////////////////////////////
function backbtnscript1(event:MouseEvent):void
{
if(stage.contains(pop1) )
{
removeChild(pop1);
backcounter = 1;
trace("back" + backcounter);
}
prevFrame();
}function unloadbtn1 (e:MouseEvent):void {
removeChild(pop1);
}////////////////////////////////////////////////////////////////////////////////
function backbtnscript2(event:MouseEvent):void
{
if(stage.contains(pop2) )
{
removeChild(pop2);
backcounter2 = 1;
trace("back" + backcounter2);
}
prevFrame();
}function unloadbtn2 (e:MouseEvent):void {
removeChild(pop2);
}////////////////////////////////////////////////////////////////////////////////
function backbtnscript3(event:MouseEvent):void
{
if(stage.contains(pop3) )
{
removeChild(pop3);
backcounter3 = 1;
trace("back" + backcounter3);
}
prevFrame();
}function unloadbtn3 (e:MouseEvent):void {
removeChild(pop3);
}
//SLIDE COUNTERand here is the Code on all the Frames where I need to call in specific Listeners
FOR EXAMPLE ON FRAME 8,9,10,
Here Is the Code ,
FRAME 8
stop();
slidecounter.text = String(this.currentFrame - 1 + "/" + indexframe);
count = 0;
backcounter = 0;btn_nxt.addEventListener(MouseEvent.CLICK , fl_ClickToGoToNextFrame);
btn_bck.addEventListener(MouseEvent.CLICK, backbtn);
btn_bck.removeEventListener(MouseEvent.CLICK , backbtnscript1);
btn_nxt.removeEventListener(MouseEvent.CLICK , nextframe9);
pop1.closebtn.addEventListener(MouseEvent.CLICK, unloadbtn1);
//btn_notice1.addEventListener(MouseEvent.CLICK , loadnotice1);FRAME 9
stop();
slidecounter.text = String(this.currentFrame - 1 + "/" + indexframe);
//POPUP FUNCTIONcount = 0;
btn_nxt.removeEventListener(MouseEvent.CLICK , fl_ClickToGoToNextFrame);
btn_bck.removeEventListener(MouseEvent.CLICK, backbtn);
btn_bck.addEventListener(MouseEvent.CLICK , backbtnscript1);
btn_nxt.addEventListener(MouseEvent.CLICK , nextframe9);
btn_notice1.addEventListener(MouseEvent.CLICK , loadnotice1);FRAME 10
stop();
slidecounter.text = String(this.currentFrame - 1 + "/" + indexframe);count = 0;
backcounter = 0;btn_nxt.addEventListener(MouseEvent.CLICK , fl_ClickToGoToNextFrame);
btn_bck.addEventListener(MouseEvent.CLICK, backbtn);
btn_bck.removeEventListener(MouseEvent.CLICK , backbtnscript1);
btn_nxt.removeEventListener(MouseEvent.CLICK , nextframe9);
pop1.closebtn.addEventListener(MouseEvent.CLICK, unloadbtn1);I am repeating this Pattern on each frame set where I need these Listeners ,
Problem is with the next one where I have two consecutive frames have different conditions to meet, any ideas how would I disable and enable listeners respectively on these frames ?
I hope I am not confusing this very much ?;(
-
3. Re: Removing a Button Event Listener on a Specific Frame and Reactivating it on Next Frame
Ned Murphy Nov 4, 2014 5:50 PM (in response to navigator81)There's a bit too much code for me to tell what the problem is. If you can limit what you show to the code that is giving you a problem it will help.
A quick review of your nextframe9 function makes me wonder about it. Regardless whether or not pop1 is present, you add it anyways, and the count doesn't change when you do.
-
4. Re: Removing a Button Event Listener on a Specific Frame and Reactivating it on Next Frame
navigator81 Nov 4, 2014 7:17 PM (in response to navigator81)Thanks man , I wil try to sqeezet a little if I can , I am just new so I am asking a lot of Dumb questions I know.
as of nextframe9 is concerned , I am trying to ensure that if the Movie Clip (pop1) is already on the stage when user clicks that , and count has already gone 1 since it popped up , the event listener should remove it off the stage and move on to next Slide , Idea is that we donot let the user Ignore the Notice. its working for me for now , unless of course if I am doing something fundamentally wrong here:(
HERE IS WHY I DID WHAT I DID
function nextframe9(event: MouseEvent): void
{
if(count == 1 && stage.contains(pop1) )) //CONDITION ONE , When user has clicked btn_notice and poped the Notice manually but didn't close it, then Counter would be 1 and therefore if now he clicks on NEXT Button , there is no need to pop the Notice again and move on.
{
removeChild(pop1);
}
if(count == 1)//CONDITION TWO , When user has clicked btn_notice and poped the Notice manually and closed it so there is nothing on the stage at the moment, then Counter would be 1 and therefore if now he clicks on NEXT Button , there is no need to pop the Notice again and move on.
{
nextFrame();
}
else )//CONDITION THREE, When user Forgot to check the Notice and tried to move on , in that Case if he clicks on Next , the Next button should pop the Movie clip open.
{
addChild(pop1);
pop1.x = 40;
pop1.y = 120;
count = 1;
}}


