ActionScript 2.0 :: GetTimer Function - Time Resets On MouseDown
Sep 27, 2005
I don't know how to do the actionscript tags so I am gonna use the PHP ones!
PHP Code:
function startTimer() {
initial = getTimer()/1000;
}
If this function gets called, what exactly happens here? Does it reset the timer? Or just gets the time the swf has been playing? Because when you use this mouse listener
PHP Code:
mouseListener = new Object();
mouseListener.onMouseDown = startTimer;
It actually resets the time everytime you mouseDown.
[Code] .....
Does the getTimer function affect the output time? so it's seen different in each country? I've created adigital clock using the time received from a php. Customers see a different time than mine. (php file works perfectly and output the time in my timezone).
I have a project in Flash Mx 2004. On the first frame there is a menu with 4 menu items. When the user clicks an item, they are taken to another frame with some text and an exit button that takes them back to the menu. The forward button will not become active until all of the menu items have been viewed. There is no particular order for the items to be viewed, just that they all be viewed before the forward arrow is active and the user can continue. I tried puttin an action on the exit button to disable the related menu item, however, the item just resets back to enabled each time a user re-enters the frame.
I calling a function using setInterval()... however, it behaves differently in IE7 and Firefox. It is working fine in Firefox but not in IE7.Can I use getTimer() to call a specific function in every 3 seconds...?
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'm trying to create a script that would imitate an old rotary phone dial. I have this script, but need it to function on MOUSE_DOWN:
Code: handle.addEventListener(MouseEvent.ENTER_FRAME, startRotate); function startRotate(e:Event):void { var dx:Number=mouseX-handle.x; var dy:Number=mouseY-handle.y; // presupposes position of object to be facing to the right. var radians:Number=Math.atan2(dy,dx); handle.rotation=radians*180/Math.PI; var hR:Number = Math.round(handle.rotation); rotationA.text = String(hR); }
Changing the event handler doesn't work. Somehow the MouseDown function should be working like an EnterFrame event, I guess. The condition I want to check is whether or not the handle is at a certain degree angle to stop the dial from rotating. if (handle.rotation >= 30) { handle.rotation = ?; } Not sure what I need to put in there to stop it from rotating.
basically I have an MC menu that I want to move to the left when you click and hold on another MC called leftButton, here's what I have.In main timeline:
My goal is to change the time for setInterval each time the function is called. Planning to replace myInterval = 5000; with a randomized number. My problem is getting setInterval to recognize the myInterval variable from the function.
I have an AS3 program that calls a function multiple times. The function must return multiple variables, so I created a class for the function to declare an object containing all of these variables. For example, here's my class:
package { public class PER { [Code].....
Let's say the calling program calls the function, which returns the variables into data_set1 (where data_set1 depends on input variables arg1, arg2, arg3) using:
var data_set1:PER = function_name(arg1, arg2, arg3);
The calling program does some stuff, then calls the function again, but returns the variables into a new variable name, data_set2:
var data_set2:PER = function_name(arg4, arg5, arg6);
My intention is that data_set1 and data_set2 are different (e.g. not linked together).
My question is, given that arrays are passed by reference, will data_set1 be modified to agree with data_set2 upon the 2nd function call? Why or why not?
I'm writing a base class for a clip that holds a scrollbar and some content. I written a function that runs every frame to check if the height of the content is smaller than the height of the available content area. If it is, the scrollbar hides. The problem I've run into is that when i trace the height, every other frame it comes back as 0. If I trace the same exact value when it's used in another function it comes back correct every time. If I trace it in my document class, it comes back correct. Any idea why it comes back zero in just this one spot?
enableScrollBar(); is the function in question
Code:
package includes { import flash.display.MovieClip; import flash.events.Event;
I have attached the following to a button: on (press) { gotoAndPlay(1); } or on (release) { gotoAndPlay(1); }
It is meant to take the user back to frame one where they can play a game again. The only problem is that it doesn't work. When you click the button it goes to the frame but quickly resets back to the frame where the button is located. I have put stop(); code where relevant. I am unsure on what to do. I just want the user to be able to go to different frames but the button keeps reseting to the frame where it is originally located.
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 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 have 22 rollover buttons that are a tint. On the rollover, I want the button (75px square) to disappear. On the rollout, I want it to display it's original state.I can't use visibility because it causes a flicker. When I use alpha it resets the opacity to 100% regardless of the number I set it to - e.g. rollover {button.alpha = 0;} / rollout {button.alpha = 50;} still results in a solid box.
I've been passed a flash file that uses the code below to move a set of images using left and right arrows. The user should be able to click through the series smoothly with no resets.
Essentially, the file looks like this: < (set 1) (set 2) (set 3) >
Each set contains the same 6 buttons. I added one button into the set, so now there's 7 buttons to a set. They overlapped, so I moved the left set over one button length and the right set over one button length.
After 6 clicks, instead of rolling smoothly through the buttons, it jumps back to the beginning. Did the addition of another button mess up the initial position or something?
Sadly, I'm more familiar with simple timeline and tween effects rather than this. Also, I'm using Actionscript 2.0 and CS4.
Code: import mx.transitions.Tween; Stage.scaleMode = 'NoScale'; var InitPos = 85;
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'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.
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 encoutering something pretty weird. My framerate is set to 60 and I have a function that listens to enterFrame events and calls getTimer() to calculate the time between steps. That usually works nicely, however when I run the swf in flash player 10.3 or 11 standalones, the time delta is detected for many steps as being '0' because getTimer() returns exactly the same thing as on the previous step. The flash movie as such doesn't skip frames (except it looks bad since everything moves according to the time delta) and the framerate is 60 as it should (EDIT: Not actually true, 0 ms frames are skipped). It doesn't even happen every time. Sometimes I run it with the aforementionned players and it's just fine, apparently for no reason. I have tried the debug and release players and the problem happens with both.I'm targeting flash player 10.0 and it works well with that standalone player, as it does with 10.1. Not targeting 10.3 might be part of the problem I guess, but I have no idea really. At any rate, I was wondering if anyone else encountered that problem before, and hopefully would know the cause. I have found nothing about it on the web so far.Technical info: I'm using flashDevelop 3.3.2 and the Flex 4.1 open source sdk
EDIT: It would seem it's not a getTimer problem. The time delta between frames is reported correctly but faulty frames do last 0ms.
I'm making a website. I'd love for a fish to jump up and eat a mayfly when the user rolls over the bottom of the screen. I know how to use the rollover script:
onClipEvent (enterFrame) { if (this.hitTest(_root._xmouse, _root._ymouse, true)) { this.nextFrame();