ActionScript 2.0 :: Key Listener Works Only On Keys W, U, D, G And X
Dec 17, 2011
Key Listener I did on Flasg-8 stopped working properly after I re-published them in Flash CS3 In particular reloading the clip on pressing A still does not work, although it used to on Flash-8. The relevant bit of code is:
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?
Whenever I remove an event listener to a button then that button no longer works. Does it cause memory leaks to not remove these listeners.....come to think of it I have about 30 eventListeners that I cannot remove otherwise the application ceases to function correctly. Is my application a memory black hole? How should i proceed with garbage collection?
whether using a String as the key in a Dictionary results in slower lookups than using an Object, Class or Custom Object (an instance of developer defined Type)?
When using a String as a key, does the literal String have to be parsed, or does the Dictionary key point to the String Object?
TypeError: Error #2007: Parameter listener must be non-null.at flash.events::EventDispatcher/removeEventListener() at project1_fla::MainTimeline/btnName()
I have a movie clip (with instance name rectangle_mc) on the stage. Within this movie clip there are two separation animations on the timeline. The ROLL_OVER animation starts on frame "over" and the MOUSE_OUT animation starts on frame "off." If I roll over the movie clip, the initial animation plays, and when I mouse out the other animation plays to restore it to it's initial state. However, once the rollover animation has played once, it will not play again when I roll over it again, but for some reason the MOUSE_OUT plays every time.
I am having a weird problem with scope/reference. I am using a loop to preload a number of thumbs in one go, I am creating a different listener for each one on the fly and then passing event handlers for each one of them. This should not be difficult using a loop, but somehow I cannot access the the parent object on my listener and therefore I can't do much with my thumbs after they are loaded.Here is the relevant segment of my code. myThumb_mc is a temporary variable that does not exist when the loop finishes, you can copy and paste this code to test it though. It should work to that extent. (you'll need an image1.jpg to be in the same directory)
Code: var myThumb_mc = _root.createEmptyMovieClip("myThumb_mc", _root.getNextHighestDepth()); myThumb_mc.clipLoader = new MovieClipLoader(); myThumb_mc.clipLoader.loadClip("image1.jpg",myThumb_mc);[code].....
The code above works, but it does not look nice and it cannot be the right way of doing this. Long question short, how can I access the parent of a listener from a listener object? ._parent does not work.
This is something that tugs at my mind a lot so I figured I'd ask the community. If I have a class called MyParentWidget and it contains an instance of MyChildWidget with an instance name of myChildWidget then I will often do something like this:
My code doesnt detect 2 kest at once.I want to press an arrow key and spce bar. In .net the below code does do this but in flash if I hold down an arrow key and press space bar the arrow key event will stop working.[code]
in AS2 how would i use the down arrow key to make the timeline play? at the moment i have this and i presume i need to put something after that to make it play. [code]but i presume this is totaly wrong because the "stop();" doesnt stop the clip when the "if (Key.isDown(40))" bit is after it.
is it possible to set the state of keys rather than just read them in AS3? I am particularly interested in setting the state of the CAPS LOCK, NUMBER LOCK and SCROLL LOCK if possible i.e. toggling the LED state.
The objective is to get the fox - by using the arrow keys - to move around on the stage and when he touches a duck the duck should disappear of the stage. The duck has a motion tween on it, to make it fly.Also if the fox touches one of the traps he should make a sound - using the redfox.wav sound in the library and disappear off the stage.I have this code on the actionscript timeline //Program to generate a set number of traps
//Declaring Variables var numOfTraps:Number; var movieWidth:Number; var movieHeight:Number; var counter:Number; //setting variables values for traps numOfTraps = 6 movieWidth = Stage.width; movieHeight = Stage.height; //Program to generate a set number of traps //Declaring Variables for (counter = 7; counter <= 13; counter++){ //Place 6 traps on the stage [code]....
I have done up a flash demo which uses the computer mouse to navigate. Now instead of using mouse, I want to use keyboard (arrow up, down, left, right) to highlight buttons and then hit "enter" key to click the button.
I have a really strange problem. I've made a custom class that listens for keyboard events such as key presses (I use it in order to navigate in an interface). When I test my file in Flash (using 'command'+'enter') all key presses work as they should. However, when I publish the file and starts the projector (or the swf for that matter) one key ('g') isn't doing what it should!
I'm learning Flash and Actionscript and playing around with some different features. I have an MC of a car and have coded them arrow keys to move it left and right and the up and down keys to adjust the speed. It also flips the MC horizontally based on which direction is pressed. There is a startover button that goes to the beginning of the timeline, and a back and next button.
Everything works except I have to click on the stage to get it to recognize the key presses. Once I click the stage it works fine. If I go forward and come back it won't work until I click the stage again. I THINK it was working correctly last night, but I was playing around with some of the images and code this morning and realized it wasn't working right anymore...or maybe I just didn't realize I was clicking the stage last night.
Here's my script:
Code: stop(); btnStartOver.addEventListener(MouseEvent.CLICK, StartOver97); function StartOver97(event:MouseEvent):void {
I am trying to get a keyboard input why my game is playing. So here is my code below. Thing is, only certain keys are coming up in the trace. So if I press the a key, nothing happens. If press the d key, I get the trace. Only a handful of the keys are registering... why?
Code:
function PowerUps(e:KeyboardEvent):void{ var holdout = getTimer(); var theKey:String = String.fromCharCode(e.charCode); //the key code the was pressed
I'm building a simple app where an image displayed changes based on which image is selected in the combobox. Pick a different image in the combobox, the old one transitions out, the new one transitions in. Easy, right? So while the transition is taking place, even though I disable the combobox (.enabled = false, and I remove the Event.CHANGE listener for the combobox, I can still scroll through the combobox's options with the up/down arrow keys. I'd like to lock that ability out temporarily
I have a file set up with a movie clip moving from side to side by itself and when it reaches the end of the stage it goes back in the opposite direction.[code]I know want to control the movie clips movement with arrow keys, just left and right so that it would stop when it reaches the edge and will only let me move it the opposite direction.I guess I'm just trying to set up a sort of template.
There is probably a better way to do what I'm trying to do, but I simply want to make a variable change its value when I press the arrows keys. For example if I wanted to cycle through weapons, if weapon=0 then the character is holding a certain weapon, then I press the down arrow key and weapon=1 and if weapon=1 the character is holding another weapon. And if I press up weapon=0 again so he's holding the first weapon again. And say there's 8 weapons, if weapon>8 then weapon=0 again so its a cycle. I tried arrow key functions and all they worked for was making a symbol move. I think I knew how to do this stuff in gamemker pretty well but Flash is very different.
I have been using powerpoint all long for my presentations, but I'd like to move on with Flash. My question is therefore as follows: How do I use the arrow keys to go to the next frame and optionally, the left key to go to the previous frame?
I have been making a game and have recently found out about the Combo Box component, I love it and it works really well, except for one thing.You play the game using the arrow keys, and when you press the arrow keys the character moves, AND it changes the value in the Combo Box, I do not want it to affect the combo box.Please do not say use the WASD keys or another set of keys as this will not affect it, because this is not an option, they are already being used!
Iv created a virtual keyboard in flash using arrays and buttons i now want to assign a sound to all keys so that whenever they are pressed the sound will play, I'm guessing ill need to use a for loop or something but i really don't know how i would go around doing so.
For some reason, the down and right keys aren't working. They work fine in other programs but in this program they fail. paddle_ybase = paddle._yscale;paddleSpeed = 0; onEnterFrame = function(){ if(Key.isDown(Key.UP)){paddleA._y -= 1;}if(Key.isDown(Key.DOWN)){paddeA._y += 1;} if(Key.isDown(Key.LEFT)){paddleA._x -= 1;}if(Key.isDown(Key.RIGHT)){paddeA._x += 1;} steam(7);paddle._rotation = paddleSpeed; } function steam(num){for(i=0;i<num;i++) { [Code] .....