Timer problems


hey guys,


i'm having trouble timer. have slideshow 5 images , numbered buttons go each separately, previous/next buttons, random image button, , play , pause buttons. here's code have it. , i've been trying slideshow start automatically pause button instead of paused play button. i've tried adding playtimer.start(); @ beginning, seems mess rest of buttons. suggestions/ideas? (i'm including code responsible timer, play , pause buttons , next button reference rest of buttons have.

 

stop();

 

//variables

var playtimer:timer = new timer(2000);

var totalnumberpictures:int = 5;

 

//set, start , listen timer when play button clicked

play_btn.addeventlistener(mouseevent.click, starttimer);

function starttimer(myevent:mouseevent):void

{

  //when reaches 2s, execute function "playslideshow"

          playtimer.addeventlistener(timerevent.timer, playslideshow);

          //start timer

          playtimer.start();

          //hide play button , show pause button

          play_btn.visible = false;

          pause_btn.visible = true;

}

 

 

//go next image (and loop if last)

function playslideshow(myevent:timerevent):void

{

    if (currentframe >= totalnumberpictures)

          {

        gotoandstop("img1");

  }

          else

          {

        this.nextframe();

  }

}

 

//this function resets timer

function resettimer():void

{

    if(playtimer != null)

    {

    playtimer.reset();

    playtimer.start();

    }

}

 

//pause button function remove timer

pause_btn.addeventlistener(mouseevent.click, pauseslideshow);

function pauseslideshow(myevent:mouseevent):void

{

    playtimer.stop();

    playtimer.removeeventlistener(timerevent.timer, playslideshow);

    //hide pause button , show play button

    pause_btn.visible = false;

    play_btn.visible = true;

}

 

//next button function go next image

next_btn.addeventlistener(mouseevent.click, gotonextpage);

function gotonextpage(myevent:mouseevent):void

{

          if (currentframe >= totalnumberpictures)

          {

       //loop first image last image

       gotoandstop("img1");

       resettimer();

   }

          else

          {

       this.nextframe();

                         resettimer();

   }

}


the main problem re-instantiate time every time first frame hit.

 

try this:

 

import flash.events.mouseevent; import flash.events.timerevent; import flash.utils.timer; stop();   //variables var playtimer:timer; var totalnumberpictures:int = 5; var isplaying:boolean = false;   if (!playtimer) {           init(); }   function init():void {           playtimer = new timer(2000);           play_btn.addeventlistener(mouseevent.click, starttimer);           pause_btn.addeventlistener(mouseevent.click, pauseslideshow);           next_btn.addeventlistener(mouseevent.click, gotonextpage); }   function starttimer(e:mouseevent):void {           //when reaches 2s, execute function "playslideshow"           playtimer.addeventlistener(timerevent.timer, playslideshow);           //start timer           playtimer.start();           //hide play button , show pause button           play_btn.visible = false;           pause_btn.visible = true; }   function playslideshow(myevent:timerevent):void {           isplaying = true;           if (currentframe >= totalnumberpictures)           {                     gotoandstop("img1");           }           else           {                     this.nextframe();           } }  function pauseslideshow(e:mouseevent):void {           isplaying = false;           playtimer.removeeventlistener(timerevent.timer, playslideshow);           playtimer.stop();            //hide pause button , show play button           pause_btn.visible = false;           play_btn.visible = true; }   function gotonextpage(e:mouseevent):void {           if (currentframe >= totalnumberpictures)           {                     //loop first image last image                     gotoandstop("img1");           }           else           {                     this.nextframe();            }           if (isplaying)           {                     playtimer.reset();                     playtimer.start();           } }  

 

message edited by: andrei1



More discussions in ActionScript 3


adobe

Comments

Popular posts from this blog

How to set the order of FAQs instead of alphabetical

Thread: Get UK Keyboard working

how do I change the e-mail address for my merchant account