Actionscript Course

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
Which tag is used in <table> to create table header cell?
<thead> <th> <td>
<table><tr>
  <th>Title 1</th>
  <th>Title 2</th>
</tr></table>
Which CSS property sets the distance between lines?
line-height word-spacing margin
.some_class {
  line-height: 150%;
}
Which function opens a new browser window.
alert() confirm() open()
document.getElementById("id_button").onclick = function(){
  window.open("http://coursesweb.net/");
}
Indicate the PHP function that returns an array with names of the files and folders inside a directory.
mkdir() scandir() readdir()
$ar_dir = scandir("dir_name");
var_export($ar_dir);
KeyboardEvent - Events for Keyboard

Last accessed pages

  1. querySelector and querySelectorAll (30136)
  2. Courses Web: PHP-MySQL JavaScript Node.js Ajax HTML CSS (142540)
  3. JavaScript strip_tags and stripslashes (8825)
  4. Date and Time in ActionScript 3 (10086)
  5. Bind Tool and Control Points (4430)

Popular pages this month

  1. Courses Web: PHP-MySQL JavaScript Node.js Ajax HTML CSS (543)
  2. The Mastery of Love (65)
  3. CSS cursor property - Custom Cursors (63)
  4. Read Excel file data in PHP - PhpExcelReader (59)
  5. PHP-MySQL free course, online tutorials PHP MySQL code (44)