ActionScript 2.0 :: Pause Override On Timed "endtime = GetTimer"?
Sep 30, 2006
I have a Flash movie that uses actionscript to pause for 5 seconds on each scene. I would like to have a Pause button that, when clicked, can "override" the 5 second timer, and stay paused until the user clicks the "forward" button to resume the movie. How can I make the pause button override the actionscript that is counting 5 seconds and then going to next scene?
The actionscript I'm using for the 5-second-then-go timer is contained within a movie clip that has in frame 1:
endtime = getTimer() + Number(substring(_name,5)) * 1000;
_parent.stop();
then in that clip's frame 3:
if(getTimer() < endtime) gotoAndPlay(2);
then in that clip's frame 4:
_parent.play();
I put that clip on the first frame of each scene, and it counts 5 seconds before going to next scene. Works great. But when I put a pause button with the code:
on (press) {
_parent.stop();
}
... that button doesn't stop the movie. It seems that the timer movie clip overrides it and just keeps the movies moving every 5 seconds. how I can get a pause button to work on this? Then I would want to "resume" the paused movie by hitting the "play" button to go to the next scene.
I'm using this piece of code from a panning source file uploaded to this site while back. I've tried to change the code so that after you press the button the movie will slide to a certain point ( 100,100 ) and then the movie will start its motion again ( nMC.startMotion() ) the problem is it doesn't have time to move to the position before the movieclip startmotion code kicks in.
img.b3.onRelease = function() { nMC.slideToPoint(100,100); I need a delay here; nMC.startMotion() }
I'm using this function function wait(mc, n) { mc.stop(); var myInterval = setInterval(function () { mc.play(); clearInterval(myInterval); }, 3 * 1000); } _root.wait(this, n)
To delay events along my timeline. That code works fine. My problem is that is that I also want the user to be able to pause the movie at any time. However, if the pause button I'm using is pressed by the user while the timeline is delayed using this function it starts playing again after the interval even if the pause button is still pressed. How can I override this wait function with a pause button?
I'm making a racing game and am trying to have the final time displayed after I cross the finish line...In frame 4 (where the game begins) i have a setInterval timer that counts down from 20.when it reaches 0, my text is: startTime; where var startTime:Number = (getTimer()/1000).In frame 12 (where the game ends) i have
finalTime.text = endtime // finalTime is a textbox var endtime:Number = (_root.finishTime-_root.startTime);[code]...
when i finish the race, however, the word "undefined" is displayed in the textbox.
I always have a question about override custom event. I am not sure why or what do to inside override function. I searched google but didn't get too many feedbacks. EDIT: My projects seem work fine even though I use my custom event without override. Anyone could explain it?
Long time flash "dabbler" who has avoided using scripts as long as possible. But now finds himself having to use CS4 and AS3.
I have a situation that would have been easy to handle in older version of Flash or Swish. Previousely if I had an imported FLV or SWF that was 7 seconds long at 20 FPS I would have gone to frame 140 and set a getURL action to redirect to a webpage at the end of the movie.
But with CS4 & AS3, this is not so simple anymore.
I have a button that when pressed successfully invokes the navigateToURL parameter when pressed. But at the same time I am playing an FLV in the background that is 7 seconds long.
What I need to do is have a timed event that at the end of 7 seconds (7000 milliseconds) then invokes the navigateToURL function.
how to accomplish this? I have looked all over and have not seen anything that accomplishes this.
Here is what i have as my script on frame 1 in my actions layer including some timed event scripting
stop(); // We need to import the utils packageimport flash.utils.*; // Create a new Timer object with a delay of 7000 msvar introTimer:Timer = new Timer(7000);introTimer.addEventListener("timer", timedFunction);
I am building a slide show in Flash 4. I have a series of slides that I want to automatically advance from slide to slide in order after 10 seconds. Is there a slide control in flash for this? Is there an actionscript for this?
I'm trying to catch when a second is passed using getTimer. I don't want to use setInterval, because I'll need to pause, and unpause it. So.. here's my code:
[Code]...
What is wrong with this code? It seems that the time variable reachs 1000 milliseconds too fast.I'm not getting a second interval. How would I fix that?
I have recently been working on a Flash file that dynamically loads a movie based on the contents of a simple XML file. I was concerned about caching issues so tried to set up the code to avoid the XML file being cached causing the wrong content to be loaded. I did this by adding a dummy query string to the file link which is a numerical value generated by getTimer().In practice the system mostly worked but occasionally old content would load even though the XML had been changed. The code runs a setInterval that checks the XML every 20 seconds and checks if the loaded file specfied has changed. The code loads the XML with the following code:
The getTimer() functions starts counting in milliseconds as soon as the movie runs so there is a chance that the same query string is assigned to more than one file, meaning that an old cached version is loaded instead of the new, live file. I am now thinking about ways to improve this code and generate unique values for the query string. I thought using the epoch time - the time in milliseconds from which Flash calculates time and dates which is set to Jan 01 1970 - would generate a new value every millisecond and maybe adding an additional random number to that value to further reduce the chance of the same query string being generated more than once.
this.onEnterFrame = function () { var nowDate:Date = new Date(); nowTime = nowDate.getTime();
i have 5 images i wish to use for the slideshow, but i have no idea what to insert in the actionscript so that once the page loaded, the image will change in the order like (1 to 2 to 3 ... ) every 10secs and when i click on the image it will also load the next image without waiting for that 10secs.and which frame do i insert the actionscript code?
I have a simple slideshow that is non-interactive. It just loops five movie clips loaded externally. Each slide is shown for a certain amount of time that is determined with getTimer.The code for the slideshow is in the last frame of the root timeline. So, basically the slideshow starts when the root timeline finishes playing. The problem is that the timer works great the first time the code plays, but when I tell the player head to back up and enter the frame again, the clips play very rapidly, as though getTimer was not being initialized.
Is it possible to capture the time in a timer? I have some English learning games for my students that use a timer. It works fine as it is. Its starts when they click start and ends when they drag the last thing into place. What I would like to do is have a bonus scene when students do exceptionally well and get some crazy low score. I don't know how to go about capturing the end time though.
I am trying to construct a timed loop... so far without success.What I need is a loop where iteration 0 + i + 1 starts a few seconds after iteration 0 + i. I tried putting a timer inside the loop but the loop seems to simple skip the timer instead of executing it sequentially before starting the next iteration. Here is the code snippet:
Code: var iTimer : Timer; for( var i:int = 0; i < 2; i++ ) { trace( i + " i iterations" );
[code]....
The loop does not seem to wait for jLoop() to be executed. It speeds ahead onto the next iteration, instantiating a new timer and thus screwing up the timing of the iterations. I have tried different things like putting break and continue statements in there but to no avail.
I have been trying to come up with a way to have a Timer of which I can modify the Tick time between executions. I have the tick amount as a variable but it seems like the Timer just evaluates that variable once at the start and then ignores it. I've tried adding and removing the EventListeners in between modifying the tick variable but that does not in any way affect the original Timer. For the project I am using this in I cannot simply have a second or third timer to enable with different variables seeing as I would need upwards of 30 of them to do it that way. Can anyone point me in the direction of a way to have a variably timed Timer?
i have an .fla, which loads goes to different frames in the timeline according to the download speed of the user. i understand how it should work... start timer > upload file > stop timer > calculate download speed - easy?
so what is this simple code im missing to find the download speed? from my fruitless searching, the only relevant code i could find, is this:
Code: var time1 = getTimer(); targetClip.loadMovie("example.swf"); targetClip.onLoad = function()
[Code]....
... but i have test this, which gives an undefined property error grrr.... so what is the actionscript 3, to find the value of the download speed?
I'm in the process of making a game (a shmup) and I've started to question the accuracy of the timers in ActionScript. Sure, they're accurate enough when you want to time things on the order of a few seconds or deciseconds, but it seems to perform pretty poorly when you get to finer ranges. This makes it pretty tough to do things like have a spaceship firing a hundred lasers per second.
In the following sample, I tested how long (on average) the intervals were between 1000 timer ticks intended for 30ms. Time and time again, the results are ~35-36ms. Decreasing the time, I found the floor on the timer delay to be ~16-17ms. This gives me a max fps of ~60, which is great visually but also means I can't possibly fire more than 60 lasers per second :-(. I ran this test a few times at 100 and 1000 loops, but for both the 30ms test and the 1ms test the results didn't change. I print to a textField at the end because using trace() and launching the swf in debug mode seems to negatively affect the test. So what I'm wondering is:
Is this test a decent measure of the Timer class's performance, or are my results questionable? Will these results change dramatically on other machines? I understand this is dependent on the getTimer() method's accuracy, but the discussions I find on this topic usually center around getTimer()'s accuracy on larger intervals.
I'm programatically dragging the play head back and forth along a timeline based on a mouse event listener. The faster the mouse drags the faster the playhead rips through the frames (it's linearly proportional). I'm also firing a starter=getTimer(); event at the inital mouse_move Event trigger (and only on the initial event) and then firing a ender=getTimer() at the end of the code that calculates the new playhead position, but only if the calculation has resulted in the playhead being told to move at least one frame (the mouse can move a few pixels before playhead will move one frame). In essence it's giving me a frame per second rate.
If I look a the delta of the two timers I rarely get anything but 0. Occasionally I'll get a 1 but not very often. There are a good few dozen heavy lines of code that need to be worked out between the initial mouse_move and the decision to move the play head, and this has to be done for a number of mouse position changes before the playhead will move at all and the second getTimer call is triggered. Does the mouseEvent trigger every ms or does it trigger at the frame rate (enterframe rate) of the doc. If so the smallest delta I should see is 31ms.
This runs as an app in the standalone swf player (10.1) and never in a browser. Are my results indicative of this? Can the compiler really run this fast? How does one do very small timing tests that appear to be beyond the millisecond clock granularity?
I was wondering if it was possible to make a small script in Jquery that would change an image at a certain time. For my site, I want the image for the opening and closing of a facility to change when it opens and closes. Is this possible with Jquery or should I go with something else? Actionscript/Flash? I can't use PHP on the site...
my aim is to catch when the session is invalidated and send message to all destination that the FlexClient subscribed that the client wiht id .... has disconnected. I implemented a service which listens for
[Code]...
Problem is that i want to catch messageClientDestroyed and send to that destination a message that the user has disconnected.But blazeds destroys messageClient when you add a subtopic.So how to understand that if session is invalidated and all messageClient are being destroyed or the user just enter another place and add a subtopic to his consumer. I'am also open for other solutions to implement that mechanism.When user disconnected by session timeout or closed the site browser etc. i wanna catch it and send a message to subscribed destinations.
I'm working on the game. The gameplay is based on a really small time lapse (you have only 5 secondes to do an action). My timer works great in Flash Player, i DO have 5 secondes. In a web browser (firefox, safari ..) the 5 seconds timer is now 8 seconds.
working on a project which has a number of buttons, when the user rolls over one of these buttons the alpha value decreases to 0 to reveal a image on a lower layer.What I would like to do is gradually restore the alpha back to 100% after the user has moved the cursor off a button. However, I dont want the alpha to restore to 100% straight away, I would like there to be a few second delay before the alpha starts restoring, is this possible, and if so how would I go about doing it
Im making a little sequencer program as part of a bigger application. The sequencer playhead MC needs to move at accross the stage at a constant speed regardless of the frame rate of application.how to achieve this? My first thought was setInterval, but i have since read that it is not that accurate accross framerate changes either.
I need to get my movie to check if the user has click anywhere on the interface (doesn't matter were), if there's not click after 60second, I need to send the movie back to frame1.I know is a combination of addListener(Mouse), onMouseMove and getTimer. but I'm not very good at action script yet to combine the three.
I'm trying to make certain variables I have, increase by a set variable amount every 1 second, in a continuous loop. However, everything I've tried (using 'for' or 'setInterval') never seems to work for me.