A Flash Developer Resource Site

Results 1 to 7 of 7

Thread: every 10 secs

Hybrid View

  1. #1
    Senior Member
    Join Date
    May 2004
    Posts
    627

    every 10 secs

    How can I set to load the function every 10 sec. e.g like
    Firstly, load function a
    after 10 sec, load function b
    after 10 sec load function c

    Do anyone know how to do that?

  2. #2
    Island Boy
    Join Date
    Apr 2006
    Posts
    655
    you can use the setInterval to run a function every 10 seconds. what you would do though is to have it run a function that increments and then calls the incremented function

    Code:
    setInterval(whichFunction, 10000); 
    
    function whichFunction(){
       variable+=1
       funcName+variable();
    }
    
    function funcName1(){
       //code here
    }


    not tested so i am not 100% sure it works. but the setInterval statement will work for calling every 10 seconds.

  3. #3
    Senior Member
    Join Date
    May 2004
    Posts
    627
    I will try to work on it. THx

  4. #4
    Island Boy
    Join Date
    Apr 2006
    Posts
    655
    I had a chance to test the code i gave you and it will not work. I tried alot of different methods and the best one and only one that seems to work would be the switch case. use the following code for your routine.

    this will run every 10 seconds based on the setInterval

    Code:
    stop();
    
    var variable:Number = 0;
    whichFunction();
    var intervalId = setInterval(whichFunction, 10000); 
    
    function whichFunction(){
    	variable++;
    	trace(variable);
    	
    	switch(variable){
    		case 1:
    			funcName1();
    			break;
    		case 2:
    			funcName2();
    			break;
    		case 3:
    			funcName3();
    			break;
    		default:
    			trace("End of interval");
    			clearInterval(intervalId);
    			variable=0;
    			break;
    	}
    }
    
    function funcName1 () {
       trace("This is function 1");
    }
    
    function funcName2 () {
       trace("This is function 2");
    }
    
    function funcName3 () {
       trace("This is function 3");
    }

  5. #5
    All 1s and 0s dmonkey's Avatar
    Join Date
    Nov 2005
    Location
    Leeds, UK
    Posts
    606
    Hi,

    This is can be done using the first method VI Knight posted:

    code:

    var counter:Number = 0;

    whichFunction();
    var intervalId = setInterval(whichFunction, 10000);

    function whichFunction(){
    counter++;
    _root["funcName"+counter]();
    }

    function funcName1 () {
    trace("This is function 1");
    }

    function funcName2 () {
    trace("This is function 2");
    }

    function funcName3 () {
    trace("This is function 3");
    }



    However, you'll need to have a lot of functions unless you cause it to loop:

    code:

    if (counter > 10) {
    counter = 0;
    }



    Perhaps if you say a bit more about what the functions do? Perhaps the same function could be used each time but with variable arguments?
    "If I have seen further, it is by standing on the shoulders of giants." - Sir Isaac Newton

  6. #6
    Island Boy
    Join Date
    Apr 2006
    Posts
    655
    that is how i was trying to do it first but i couldn't get the _root["funcName"+counter](); to work. I was using the wrong code (I didn't use the _root). that is why i went to the switch statement. this way is indeed shorter.

    but i would use the clearInterval in the in teh if statement instead of just resetting the counter since he will most likely want to kill the process after it has run all the functions.

    Code:
    if (counter > totalFunctions) {
       counter = 0;
       clearInterval(intervalId);
    }
    so the total code would look like this:

    Code:
    stop();
    
    var variable:Number = 0;
    var totalFunction = 3;
    
    whichFunction();
    var intervalId = setInterval(whichFunction, 10000); 
    
    function whichFunction(){
    	variable++;
    	trace(variable);
    	
    	_root["funcName"+variable]();
    	
    	if (counter > totalFunctions) {
    		counter = 0;
    		clearInterval(intervalId);
    	}
    }
    
    function funcName1 () {
       trace("This is function 1");
    }
    
    function funcName2 () {
       trace("This is function 2");
    }
    
    function funcName3 () {
       trace("This is function 3");
    }

  7. #7
    light11.ca habboguy's Avatar
    Join Date
    Apr 2002
    Posts
    384
    you could do it using onEnterFrame by doing some calculations of how many frames would be played in 10 seconds and then check a number if its that.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  




Click Here to Expand Forum to Full Width

HTML5 Development Center