Keyboard Events (triggered when a key from the keyboard is pressed) are detected with the KeyboardEvent object.
The KeyboardEvent comes in two types:


KeyboardEvent has 6 properties:
- The code values for "charCode" and "keyCode" are dependent on the operating system and keyboard being used. The examples here are for Windows.
- To detect in a Flash presentation which key is pressed, apply the addEventListener() method (with KeyboardEvent) to Stage (to the stage object).

Here's an example with "KeyboardEvent" and KEY_DOWN, in which the "keyCode" property is used.
We create a Flash presentation with a rectangle (or what shape you want) that can be moved with the arrow keys. Also, it uses the "shiftKey" property to modify the motion speed when the Shift key is pressed.
- Follow this steps:
  1. Open a new Flash document, ActionScript 3.0, and draw a rectangle (or what shape you want) on the Stage.
  2. Select the shape on the Stage and convert it into MovieClip (from Modify -> Convert to Symbol, and for Type choose Movie Clip, and press OK).
    Then, open the Properties panel, and add the instance name rectangle for this MovieClip object (in the box with "<Instance Name>").
  3. Right-click on Frame 1 in the Timeline, choose Actions, then in the "Actions panel" add the following code:
    // Register a KeyboardEvent, applied to the "stage" object, to detect when a key is pressed
    // addEventListener is applied to the 'stage' object, to be active in all the presentation
    stage.addEventListener(KeyboardEvent.KEY_DOWN, moveF);
    
    // Function called by the registered event
    function moveF(key_evt:KeyboardEvent):void
    {
      // define a variable with a value that depends on "shiftKey" (used to set the motion speed)
      var vi:int = key_evt.shiftKey ? 12 : 2;
    
      // define a "switch" instruction with values and instructions for arrow keys
      // uses the code valuess for the arrow keys: Left, Right, Down, Up
      switch (key_evt.keyCode)
      {
      case 37:
        rectangle.x -= vi;
        break;
      case 39:
        rectangle.x += vi;
        break;
      case 38:
        rectangle.y -= vi;
        break;
      case 40:
        rectangle.y += vi;
        break;
      default:
        break;
      }
    }
    
  4. Press Ctrl+Enter to test the result. The following Flash presentation will appear:
    - When you press the arrows keys, the rectangle will move in the direction indicated by each arrow (first click on the presentation).
    - If you hold the Shift key pressed, the motion speed will increase.
- The expression "var vi:int = key_evt.shiftKey ? 12 : 2;" defines the value of 12 if "key_evt.shiftKey" is TRUE (when Shift is pressed) or 2 if it's FALSE (Shift is not pressed).
- The "switch" instruction modifies the 'x' and 'y' values for the "rectangle" instance (X and Y distance), with the value of the "vi" variable, depending on the arrow key you press (a "case" for each arrow key).

• To find out the code for each key, you can use the following ActionScript code:
stage.addEventListener(KeyboardEvent.KEY_DOWN, keyC);
function keyC(key:KeyboardEvent):void { trace(key.keyCode); }
// Displays in the Output panel the code value of the key pressed

To download the FLA file with this example, click: Keyboard events.

Daily Test with Code Example

HTML
CSS
JavaScript
PHP-MySQL
Click on the HTML tag which creates an horizontal line in web page.
<br /> <em> <hr />
Some content ...
<hr />
Content under line ...
Which CSS property defines the text color?
font-style font-variant color
h2 {
  color: #cbdafb;
}
Click on the function which searches if a character, or text exists in a string.
indexOf() toString() split()
var str = "Web courses - http://CoursesWeb.net/";
if(str.indexOf("http://") == -1) alert("http:// isn`t in string");
else alert("http:// is in string");
Which function splits a string into an array of strings based on a separator?
array_merge() explode() implode()
$str = "apple,banana,melon,pear";
$arr = explode(",", $str);
var_export($arr);      // array (0=>"apple", 1=>"banana", 2=>"melon", 3=>"pear")
KeyboardEvent - Events for Keyboard

Last accessed pages

  1. jQuery ajax() method (13427)
  2. Selection Tools (4056)
  3. Texarea with buttons to format text, colors and smiles (2773)
  4. Using file_put_contents, file_get_contents, readfile and file() (5435)
  5. Bubbles3 (47680)

Popular pages this month

  1. Qwop (3462)
  2. Drag Racer V3 (1707)
  3. Flash Games - Free online Games (810)
  4. Bubbles3 (810)
  5. Courses Web: PHP-MySQL JavaScript Ajax HTML CSS Flash-AS3 (758)