I was wondering, why does weak references does not work fro Enter_Frame and Timer? I mean, when I add any event listener on an object for those events I must remove them later, that is annoying! I use this:
When I lose reference to objects with these events (removeChild or null it) the event continues to happen and the 'myevent' func continues to be called :/Am I doing something wrong? What would be a good solution for this?
I have been trying to add a child (ball) randomly on stage with a timer every certain time or with ENTER_FRAME, but I can't get it to work. In both cases it just add the first one and then stops, even though the timer keeps on working!
I have been trying to add a child (ball) randomly on stage with a timer every certain time or with ENTER_FRAME, but I can't get it to work. In both cases it just add the first one and then stops, even though the timer keeps on working!
Here is the code: //Classes import com.greensock.*;
I am trying to save memory and space. So instead of using the Timer for my application, I was thinking about using my main loop (ENTER_FRAME) to keep track of time that passes. Is there anything wrong about this ??
There are a few fairly intensive procedures the class goes through, which require me to stagger out the action taking place. That is to say, if I were to use recursion, there are times when I'd easily hit a stack overflow, so to compensate I'm avoiding recursion through recording information in class level variables and running through the routine again (and again and again) on an ENTER_FRAME event.
This all works great, and I'm happy with the result. The only annoying bit is that performance is better when the frame rate's higher (and slower when it's lower). Run the class at 30fps, and the time it takes to complete is significantly slower than at 120fps. No surprise there, but still annoying since I'm not interested in making the user make changes in their framerate to accomodate the class.
So I considered switching to a timer-based method, but then I remembered something about the Timer class accomodating the framerate of the SWF. Looking it up confirmed what I remembered:
...if a SWF file is set to play at 10 frames per second [fps], which is 100 millisecond intervals, but your timer is set to fire an event at 80 milliseconds, Flash Player will fire the event close to the 100 millisecond interval.
Now I'm wondering if it's even worth the effort, since it would appear that the end result would be much the same as it is now using enter frame.
I use 2 options when i comes to animationg objects with Action Script
1. Timer based animation
PHP Code:
initTimer = new Timer(1000/fps); initTimer.addEventListener(TimerEvent.TIMER, moveItem);
[code]....
2. ENTER_FRAME event based animation
PHP Code:
var time:int = getTimer(); addEventListener(Event.ENTER_FRAME, moveItem); function moveItem(event:Event){
[code]....
Both of this options work ideal for my needs and they produce smooth animation. My question is witch one is better and why? And is there more ways to animate objects with action script?
I am having a big of trouble with this code to change frames on my timeline. I thought my code below would work fine but its not. For some reason it will go to frames 1-4 (4 is the last frame) then it will go back to 1 again just fine as its supposed to... but then will jump to 3 then back to 1... all random instead of staying in sync. I have attached both my as2 version and my as3 version. My as 2 is working perfectly. I can define the amount of time a frame will pause for on each frame.
here is my as 3 code; stop(); var frameTimer:Timer = new Timer(1000);frameTimer.addEventListener(TimerEvent.TIMER,
I am working on a very simple game in Flash. I want to make all the animations framerate agnostic, so that I can change the framerate without affecting the flow and speed of the game.I read somewhere that if you want to do that, you simply create a Timer object and attach an event listener to this timer.
What if I have many objects that have to listen to the same timer? See the code to understand what I am trying to do. At this stage nothing breaks, but the event does not fire.Here is the Main class, the one that runs on swf execution:
public class Main extends MovieClip { private static var _stage:Stage; private static var _timer:Timer;
What is the difference between Timer.stop() and Timer.reset() functions because it seems that the 2 functions do the same thing? I image Timer.stop() to stop the timer and when Timer.start() is called the timer starts from where it stopped. For example, if I have a 3 sec. timer (3000 ms). If I stop the timer after 2.5 sec. and start the timer again, I would expect the timer to expire/trip within .5 sec.
I have a ActionScript 3.0 project and I have a timer that is running on 1000 millisecond intervals. I would like to delay this timer for 1500 milliseconds perform an action and start the timer again after the delay. I thought I could do this easily, but I'm having trouble, would it be better to stop the timer and perform the action and then listen for the action to be completed to start the timer again?
In my case, the timer I make doesn't reduce its time whenever a function is called. What code will I change or add in order to reduce the time in my timer? [code]At this point the timer.start(); is placed on a frame so that the timer starts as it enters the frame.
I have a one-frame .fla with script on one layer and a movie clip on another. The movie clip has an instance name of "titleBar," which moves from left to right using dynamic tweening.The tween code moves it from an X position of 200 to a X position of 820.Then I have a function called "xChange," which waits for titleBar's X value to be 820. Once it does, I'd eventually want to load an external swf but I'm just running a trace for now.Again, Here's the code.
I'm having problems designing the AI for a fighting games thats meant to have 1 player and 3 enemies. I programmed everything at once really carefully so I thought it would work without errors, I thought wrong. So I'm hoping this is down to lack of knowledge rather than lack of skill. So each of the enemies use an enter_frame listener that calls a method doAI. doAI() looks a little something like this
Code: function doAI(evt:Event):void{ var x:String;[code]........
So I don't know what the computer keeps doing, but it almost seems as if its doing both doThis() and doThat() really fast. I don't know if the problem is creating methods inside the enter_frame listener or if it keeps creating new variables (x and y) every frame, but I need all 3 cpu characters to be able to do this without me creating a different method 3 times for each of them. If you don't see anything wrong with this shall I upload the real code aswell as a link to the swf file and how they behave?
I am using the ENTER_FRAME function with Math.random to animate / simulate a random number range, as you might see in a digital voltmeter for instance.
the range goes from 12.0 to 12.9 and works good, but my problem is that i need to slow down the rate at which the numbers change.... A LOT.
Is there anyway to do this without slowing down the whole timeline???
Currently my AS is confined to the digital volt movieclip.
This is what i have:
addEventListener(Event.ENTER_FRAME, fl_EnterFrameHandler_1); function fl_EnterFrameHandler_1(event:Event):void{ var newVal:Number = 12 + (int(Math.random()*10)/10); volt.text = newVal.toString();}
I have built this web site [URL] and in it I have a scrolling text. If you go to "about" or "process" you will find a scrolling text at the bottom. On the test (if you hover over it) there are 2 arrows and if you click on any arrow the text will move one line up or down. I want the text to move up or down many lines and not only one line. To do this I need to use the ENTER_FRAME but I have tried every thing and I do not know how to do this. I wonder how to add the ENTER_FRAME to my code to be able to move all the lines up or down?. You will find the code I am using now below this text. This code work very well to scroll the text line by line (if any body wants to use it feel free to copy it).
I have a little problem while trying to get a URL on a Enter_Frame event using Flash AS3.I would like to trigger the URL request on the last frame of the movieclip.Everything works fine except that instead of getting the URL once, it keeps loading it all the time.
Result: I get hundreds of web pages opening in my browser.
Here is the code I use:
stop(); addEventListener(Event.ENTER_FRAME,my_function); function my_function(e:Event):void{ var homeLink:URLRequest= new URLRequest("http://www.myurl.com"); navigateToURL(homeLink, "_self"); }
I have all of my different assets on different layers. I have 3 graphics, and 3 blocks of text. I have also 1 more block of text which i want to be shown when the frame loads. When the user clicks on one of the graphics, the text on the screen hides and the correct text block is shown.I have tried two methods so far an neither work. This is my first attempt.
Code: addEventListener(Event.ENTER_FRAME, movieLoad); function movieLoad(event:Event) { leaseTxt.visible = false;[code].....
The buttons now work, but all of the text blocks show when the frame loads, but when i click on of the graphics, the correct actions happen (all text blocks hide, except the one I want to be shown).
I have multimoduled application and I need to monitor when the mouse is moving or not moving on a protion of my swf file.The app is consisted of video player , text part and video list on the right.So I want monitor when the mouse is moving just over the video player not the whole swf application.I have this function
Code: vidPlayer_mc.addEventListener(Event.ENTER_FRAME, checkMouse); function checkMouse(e:Event):void { if (sw==0) {
[code]....
I use vidPlayer_mc.mouseX/Y; property but i doenst seem to work.I need the functionality when mouse moves over video player the playbar on the bottom shows up and vice versa.
Ok so I have a gallery that rotates anywhere from 15-30 images around. Originally I added an enter_frame to every image and performed the movement calculations in there. Now I just add one global enter_frame that loops through an array and moves all the images. Sometimes I notice stuttering. I was wondering if there is a more efficient way to do this. I was even thinking about adding another enter_frame, one that could move say the first 15 or so images, and then the other enter_frame would move the rest, that way one enter_frame wouldn't have to do all the heavy processing because the other would share the load, now that I think about, was it more efficient to have an enter_frame on every image, it was just a thought that went through my mind and I wanted to throw it out there, I'm curious to see what everyone will say.
I'm trying to move a movieclip on each ENTER_FRAME by changing the x-value and it seems like x-values below 1 isn't accepted. Am I doing something wrong or is that simply the way it is? Because if it is, is there any work-around to make the clips move slower than += 1 without changing the frame rate or using a Timer?
I've got a tween which is called using an ENTER_FRAME event listener, as I need the movieclip to constantly tween until it's selected. However, the tween isn't very smooth, it's very jumpy and I'm guessing this has got something to do with the ENTER_FRAME event being constantly called. Is there a better way of creating a smoother tween?
Here's my code...
ActionScript Code:this.addEventListener(Event.ENTER_FRAME, ballFloat);private function ballFloat(event:Event):void { var myTweenX:Tween = new Tween(this, "x", Regular.easeOut, this.x, randomXBoundary, 10, true); TweenX = myTweenX; }// end of ballFloat function