ActionScript 3.0 :: MovieClip Movement Using Keyboard Event
Jul 30, 2009
I am working on a game project and i have a question about movie clip movement using keyboard event. Basically I have a character on screen and it can move on the x axis using the left and right buttons. I am making my character move by changing the x value of the character movieclip but I find very it laggy and not smooth and if I am going point by point then it's too slow. Whats the best way to make the character move so that the transition will be smooth.
View 3 Replies
Similar Posts:
May 27, 2009
I use an event listener to detect keyboard activity and it is working fine, but when I add a MovieClip to the stage, the event is no more triggered, I need to click on the stage to get it active.The MovieClip fills all the stage, and I tried to add the same event listener to it, but still I need to click on it to get the event listener active.
View 11 Replies
May 11, 2009
I have a flash project that's implementing a simple two player game. I have added an enterFrame function to my main movie which listens for keyboard activity in order to move a cowboy gunslinger. Whenever the cowboy moves, I send a message over a socket to a server which dispatches the movement to the other connected client. This works pretty well, however, the movement messages tend to arrive in clumps which results in jumpy animation of my cowboy on my opponents screen and jumpy animation of his cowboy on my screen. To illustrate, i put a trace in my enterFrame function because I am imagining that this function will run roughly once each time my main movie renders the screen. I also put a trace statement in my function that responds to network traffic and moves the remote player's cowboy on my screen. Here's the output:
[Code]...
View 17 Replies
May 11, 2009
I have a flash project that's implementing a simple two player game. I have added an enterFrame function to my main movie which listens for keyboard activity in order to move a cowboy gunslinger. Whenever the cowboy moves, I send a message over a socket to a server which dispatches the movement to the other connected client. This works pretty well, however, the movement messages tend to arrive in clumps which results in jumpy animation of my cowboy on my opponents screen and jumpy animation of his cowboy on my screen. To illustrate, i put a trace in my enterFrame function because I am imagining that this function will run roughly once each time my main movie renders the screen. I also put a trace statement in my function that responds to network traffic and moves the remote player's cowboy on my screen.
Here's the output:
enter frame:4
enter frame:4
enter frame:4
client movePlayer running
client movePlayer running
client movePlayer running
[Code] .....
As you can see, I'll get several messages in a row from the remote client which instruct me to move their cowboy ('client MovePlayer running') and they will all run in a row before the screen updates. I'm guessing I should be using something like updateAfterEvent but this method is only provided by Mouse, Timer, and Keyboard events.
So a few questions:
1) Can someone recommend a good approach to force a screen render each time an incoming movePlayer event arrives over the socket? It's important to note that my function for handling these events has no visibility to the original socket data event.
2) Am I right in understanding that the enterFrame function of my main movie happens once each time my movie is rendered? Is there some more accurate event to which I could attach a trace message so that I better understand the relative frequency of the render events and the socket events?
3) Does firing an updateAfterEvent call force onEnterFrame events to happen more frequently? I'm worried about destroying performance by inadvertently firing more enterFrames which would fire more socket events which would fire more enterFrames, etc., etc.
View 9 Replies
Jul 11, 2009
on the stage, ther's a box. you can move the box with the left and up key.i have 3 problems:
1. the movement isnt smooth, can i make the movement smooth without modyfing the speed?
2. i want that when you press the left and up key simulteanously the box will move diagonaly.
3.when you press and hold a key, the box just moves a little and after 1 second (or something like this) the box starts to move continously. can I make the box to move continously immediatly after you are pressing a key.
View 2 Replies
Nov 6, 2003
I am working on a game right now and have a problem: I want to move the "character" with the left and right keyboard buttons Here is the AS I found on the tutorial:
[AS]on (keyPress "<Left>") {
currentX = this._x;
this._x = currentX - 2;
_root.man._rotation = ;
[Code] .....
The problem is i dont wanna rotate the pic. I just wanna flip it horizontaly whenever i press the left or right button. Is there a way to do that?
View 1 Replies
Oct 21, 2004
[URL] tutorial here was something I ran across while trying to learn how to move an MC using the keyboard. However, I'm looking to do a motion that is a bit more complicated than that - and I'm somewhat stumped. (Yup, Im new to actionscripting) I'd like to be able to move the MC 100 pixels (and that part I've figured out), but I need the motion to be smooth - with inertia. I searched and searched, and this is a link I found that looked useful in demonstrating the effect:[URL] Click the 4th example - 'Inertia, Single plane of movement'
Now, instead of having the _xmouse determine the position, I want to hit the 'forward/backward' keys on the keyboard, and make it hop smoothly forward or backward a 100 pixels. Im just confused where to add what, and I am continuing to work on it. This is being programmed in Flash MX 2004.
View 5 Replies
Jul 7, 2011
I am trying to learn JavaScript and I am wondering whether JavaScript has a event listener just like ActionScript's ENTER_FRAME. Basically, I want this event listener to listen "all the time" not just wait for any particular instance (mouse click, keyboard event) of event.
View 3 Replies
Oct 21, 2004
[URL] how to move an MC using the keyboard. However, I'm looking to do a motion that is a bit more complicated than that - and I'm somewhat stumped. (Yup, Im new to actionscripting)
I'd like to be able to move the MC 100 pixels (and that part I've figured out), but I need the motion to be smooth - with inertia. I searched and searched, and this is a link I found that looked useful in demonstrating the effect:
[URL]
Click the 4th example - 'Inertia, Single plane of movement'Now, instead of having the _xmouse determine the position, I want to hit the 'forward/backward' keys on the keyboard, and make it hop smoothly forward or backward a 100 pixels. Im just confused where to add what, and I am continuing to work on it. This is being programmed in Flash MX 2004.
View 5 Replies
Feb 16, 2010
Im having a problem getting responsive keyboard movement. I have a key_up listener which fails to trigger when 3 keys are down. E.g. Imagine up and right keys are being pressed to move up + right. The user wants to change to moving up + left. The user presses the left key before lifting thg right key. I have a key_up listener to detect when a key is no longer being pressed. However in this scenario it fails to trigger when 3 keys are pressed. Even in this online example, there is the same problem, look how unresponsive it is when chaging from up right to up left really quickly. [URL]
[Code]...
View 2 Replies
Nov 1, 2009
i have a question to ask about asynchronous key controls This was what i did
[Code]...
and i checked with [URL]...?newspage=6249 and it looked more or less the same, so why is it that when i move my character and when i hold down a key, it just keeps on listerning to that keypress event listener, instead of just executing the other event. So say, i tap left and after which i tap right, it will work just fine, but if i hold left and tap right, the event listerner will still be listening to the left key. So, i was wondering could anyone point me in a direction as to how should i make my code stop listening to an event as soon as another event has been dispatched?
View 1 Replies
May 11, 2011
AS3 script that detect if the mouse has no movement for 1min +no keyboard activity, it will call a function to change the frame in TimeLine.
View 8 Replies
Jul 8, 2011
I am doing this inside a module containing viewstacks and their childs.Calling onInit() on creationComplete of module.When I am inside one of the childs of a viewstack of this module and press Enter, it doesnt not invoke the listener function at all (bp inside this does not get hit).
private function onInit():void{
this.addEventListener(KeyboardEvent.KEY_DOWN, keyPressed);
}[code]..........
View 2 Replies
Apr 23, 2009
When game starts, the car runs automatically. Then we click the SPACE button, movement of car stops. And the door of structure near car is available to CLICK.
But in coding I got this error code:
TypeError: Error #2007: Parameter listener must be non-null.
at flash.events::EventDispatcher/addEventListener()
at shfg_fla::MainTimeline/key_pressed()
This is some part of my game code...
case Keyboard.SPACE :
removeEventListener(Event.ENTER_FRAME,car_movement);
--street_mc.bluehome_mc.door_btn.addEventListener(MouseEvent.MOUSE_DOWN,door_ready)
[Code]....
View 1 Replies
May 7, 2005
I'm trying to get the characters in this Flash game to move diagonally - it works, but the following occurs: The character is walking twice as fast as it does when going left, right, up, downThe walking animation doesn't play PHP Code:
[Code]...
View 11 Replies
Jul 4, 2009
I have a question about making a function for two different kinds of event. It's not critical but I would like to reduce my lines of code and just be more efficient. Basically I have a button on the stage called "Enter". I also want the user to have the option of hitting the enter button. I don't have a problem making these two separate handlers for these events (i.e. one handler for the KeyboardEvent and one handler for the MouseEvent):
[Code]...
View 1 Replies
Oct 24, 2011
how can you switch the mouse event with keyboard event in the folowing example:
Code:
var qno=0;var rnd1; var rnd2;
tick.visible=false;cross.visible=false;
var right_answers=0;var wrong_answers=0;
[Code]....
i know that u have too define key up and down functions and in the beginnig give the keys we are using the false value, but how to make it that after i pess of a key you cant press in again unless you go to the next question that is the enable_disable in the following code. How would that function looked in case of keyboard event
View 1 Replies
Mar 12, 2010
I have already stumbled across two games (I mean... um... work related Flash stuff, yes boss, I'm working) which get "choppy" when you hold down the key to move (though it should apply to all keys)You know when you are typing in word, if you hold down one key, first you get one letter printed, and a second later it writes that letter really fast multiple times until you release? I believe that is what is happening that makes those games choppy. This is likely because the "KEY_DOWN" event gets dispatched very many times for the same reasons.
Now, either both those games were crappy enough so they forgot to test for this issue, or it's a Linux specific issue. I need you (yes you) to double check (stating your operating system and browser) if you get the same results.If you hold down the key to go left, (or right, doesn't matter) first you go left smoothly, and then after a second it starts "chopping" and resetting the movieclip's frame to the first walk frame.
View 4 Replies
Dec 17, 2005
I was reading senocular's tutorial on panning camera, forward, backward and sidestep movements and I was wondering if it would be possible to have a "pre-recorded" movement rather than using the keyboard.
Something like a camera moving around on a fixed path. I was able to do something with a lot of if statements using the cameraView.z but it gets really messy and doesn't so look so good.
View 5 Replies
Jul 5, 2009
ok so i am trying to change a boolean with a keyboard event
my code is this:
Code:
stage.addEventListener(KeyboardEvent.KEY_UP, keyPressed);
function keyPressed(evt:KeyboardEvent):void {
if (evt.keyCode==Keyboard.SPACE) {
if (!gamePaused) {
[Code]......
View 1 Replies
Nov 28, 2010
I am creating a game where you have to use the up and down buttons on the keyboard to avoid movie clips. For some reason it won't register when i press the keys down. Here is my code:
[Code]...
View 2 Replies
Jul 31, 2009
I'd like to arrange things so that I have a chain of keyboard event handlers in my flex application, all of whom are queried when key down events occur. Basically, when a visual component is on screen, it is a candidate for handling a key press event. Something like this (clearly this is pseudocode):
<application handles_keys="F5, F6">
<tabGroup>
<tab1 handles_keys="pgup, pgdn">
<control handles_keys="0,1,2,3,4,5,6,7,8,9" />
[code]...
I have a class written that will respond to the key events the way I want it to, so how do I register one or more instances of this class to have the results I want? Also, note that there are some situations where this class should receive events that would ordinarily be handled by a UI component. The TAB key is the main example; I have a few cases where I want my key down event handler to fire even when the focus is on a text field.
View 3 Replies
Mar 29, 2012
I'm trying to detect keyboard input and if the arrow keys are pressed, set the players next move to whatever was pressed. I'm listening for keyboard input using:
stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDown);
This is the function that gets called:
public function keyDown(event:KeyboardEvent):void
[code]....
View 1 Replies
Dec 29, 2010
Tracing the keyCode for the 'a' key (65) only works once for KEY_DOWN events and sometimes KEY_UP behaves in the same way, making development a pain when trying to do things quickly.
Clicking on the stage makes it start working, but why is it just the 'a' key that is affected?
This is on a new MBP running OSX 10.6.5, Flash version MAC 10,1,102,64
[URL]
The issue can be reproduced every time with this code:
ActionScript Code:
import flash.events.KeyboardEvent;
stage.addEventListener (KeyboardEvent.KEY_DOWN, keyDownHandler);
[Code]....
View 4 Replies
Mar 6, 2010
I have a button on the stage called enterCostBtn that when it is pressed it executes the code inside the calculateCost function. What I want to do is to be able to use the ENTER key on my keyboard to trigger that function. In other words I would like to be able to use the ENTER key or click directly on the enterCostBtn to trigger this function.
Code:
enterCostBtn.addEventListener(MouseEvent.CLICK,calculateCost,false,0,true);
function calculateCost(event:MouseEvent):void {
var material:Number=Number(Material_txt.text);
var labor:Number=Number(Labor_txt.text);
[Code].....
View 3 Replies
Sep 8, 2010
I'm an artist, not a developer, but I work with various media. I am so~so with AS3 and JS and a total noob with PHP and databases.Anyway, I am writing a Class based on keyboard events and I am finding that if the keys are hit too fast the triggered events don't complete.I'll explain further:I have a picture broken into parts (a red background here, a blue stroke there, and so on). Each one of these elements is a Library Object, and they are all set to alpha=0, and each one in turn, is tied to a key on the keyboard. When the key is struck, the picture element goes to alpha=1, plays a sound, and starts tweening back towards alpha=0.
Code:
public class TypedImageV4 extends MovieClip {
public function TypedImageV4() {
[code].....
View 8 Replies
Feb 14, 2011
I have been reading for about an hour online with no solution, if you are typing in a text field, you seem to not be able to read if the "enter" key is pressed, exmaple attached.
View 8 Replies
Jul 1, 2011
I'm still a beginner in programming ActionScript 3.0,
I had a problem with KeyboardEvent in ActionScript 3.0,
I created a simple shooting game, the game has 2 Frame,
1. Title Game (Frame 1)
2. Game Playing (Frame 2)
The problem is in Frame 1 when Button is clicked playinggame
then switched Frame to Frame 2 where the game takes place where the user can move the aircraft by using the keyboard, (Left Arrow, Up Arrow, Right Arrow & Down Arrow).
But when a keyboard button is pressed, KeyboardEvent not react at all, and aircraft can not be controlled.
Even more bizarre when the stage at the click KeyboardEvent can react and aircraft can be controlled.
The question is how to keep the button is clicked playinggame in Frame and the Frame 2, the aircraft can still be controlled using the keyboard
[URL]
View 2 Replies
Aug 9, 2007
I thought I saw somewhere that you could set a listener to monitor a MovieClip's position, to see if it has been moved. Is this possible in as2? Only as3? Do I just have a loose screw?Or is there an event that triggers when a MC is dragged (not pressed, not dragged out, but dragged around)?
View 1 Replies
Apr 7, 2012
I could've moved on to the more difficult stuff: collision detecting and course plotting.I have spent over 2 hours just trying to get a MovieClip to move from A to B -- or from x,y to x,y I should say.I first thought I could just set new x, y properties for my MC, and then it would move there. No.Then, I tried using an event handler and function. This worked, but after the first "leg" of the movement, it sent me a 1063 error, and I also was concerned that the Event I used (ENTER_FRAME) was a one-time use kinda thing.{{What IS the proper Event to call, when you just want the computer to act on its own?? No mouse CLICK, no keyboard UP -- just move, doggone it!}}
Then I tried several permutations of functions and arrays, but it seems like movement of an MC demands an Event. Is this true? For a while, I fiddled around with my TweenLite commands.I currently have a Guide moving around my Grid, which is -- through TweenLite -- drawing a line.I just want this additional MC to tag along for the ride.Here's the code for the Tween; it's pretty standard:
TweenLite.to(r1Guide,.5,{x:lineStartArray[0] + lineMove1Array[0], y:lineStartArray[1] + lineMove1Array[1], delay:2.5, ease:Linear.easeNone, onUpdate:drawLine});
I tried to duplicate this and apply it to my MC. No dice. It actually shifted my whole stage or something weird.I can just add my MC as a Child to the TweenGuide, and then it will certainly tag along
View 5 Replies