Curs Flash

Evenimentele pentru Tastatura (cand e apasat un buton de la tastatura) sunt detectate cu obiectul KeyboardEvent. Acesta are doua tipuri:


KeyboardEvent are 6 proprietati: - De retinut ca valorile codurilor pt. "charCode" si "keyCode" difera in functie de sistemul de operare al calculatorului. Exemplele de aici sunt pentru Windows.
- Ca sa fie detectat butonul apasat in prezentarea Flash, se aplica metoda addEventListener() (cu KeyboardEvent) la Scena (obiectul stage).

Iata un exemplu cu "KeyboardEvent" si KEY_DOWN in care e folosita proprietatea "keyCode", prin care va fi miscat un dreptunghi cu sagetile de la tastatura; iar proprietatea "shiftKey" va fi utilizata pt. a modifica viteza de miscare.
1. Deschideti un document Flash nou, ActionScript 3.0
2. Desenati un dreptungi si transformati-l in Movie Clip (de la meniul Modify -> Convert to Symbol, iar la Type alegeti Movie Clip si apasati OK), apoi, in panoul Properties, in partea de sus, unde e scris "<Instance Name>" scrieti numele dreptunghi (necesar in codul ActionScript).
3. Click-dreapta pe Cadru 1 in Timeline si alegeti Action, iar in panoul care se deschide pt. ActionScript adaugati urmatorul cod:
// Inregistrare eveniment pt. detectare apasare buton de la tastatura
// Detectarea se aplica obiectului 'stage' pt. a fi activ in toata prezentarea
stage.addEventListener(KeyboardEvent.KEY_DOWN, moveF);

// Functia apelata la apasarea tastei
function moveF(key_evt:KeyboardEvent):void
{
  // Setare variabila pt. viteza de miscare, in functie de "shiftKey"
  var vi:int = key_evt.shiftKey ? 12 : 2;

  // Instructiune "switch" cu valori si comenzi pt. tastele sageti
  // Codurile pt. sagetile: Stanga, Dreapta, Jos, Sus
  switch (key_evt.keyCode)
  {
  case 37:
    dreptunghi.x -= vi;
    break;
  case 39:
    dreptunghi.x += vi;
    break;
  case 38:
    dreptunghi.y -= vi;
    break;
  case 40:
    dreptunghi.y += vi;
    break;
  default:
    break;
  }
}
4. Apasati Ctrl+Enter ca sa testati rezultatul. Va apare urmatoarea prezentare Flash:.
- Cand apasati sagetile de la tastatura, dreptunghiul se va misca in directia data de fiecare sageata (intai sa dati click pe prezentare).
- Daca tineti apasata tasta Shift, viteza de miscare va fi mai mare.
- Expresia "var vi:int = key_evt.shiftKey ? 12 : 2;" defineste valoarea 12 daca "key_evt.shiftKey" e TRUE (cand Shift e apasat) sau 2 daca e FALSE (Shift neapasat).
- Comenzile din instructiunea "switch" modifica valoarea 'x' si 'y' pt. instanta "dreptunghi" (distanta X si Y), cu valoarea variabilei "vi", in functie de sageata apasata de la tastatura.

Ca sa aflati codul pt. fiecare tasta, puteti folosi urmatorul script AS3:
                stage.addEventListener(KeyboardEvent.KEY_DOWN, keyC);
                function keyC(key:KeyboardEvent):void { trace(key.keyCode); }

- Afiseaza in panoul Output codul tastei apasate.



- Fisierul FLA cu acest exemplu poate fi descarcat de la: Evenimente Tastatura.

Un Test simplu in fiecare zi

HTML
CSS
JavaScript
PHP-MySQL
Engleza
Spaniola
Care tag se foloseste in <table> pentru a crea celula de tip "header"?
<thead> <th> <td>
<table><tr>
  <th>Title 1</th>
  <th>Title 2</th>
</tr></table>
Ce proprietate CSS seteaza distanta dintre randuri?
line-height word-spacing margin
.some_class {
  line-height: 150%;
}
Care functie deschide o noua fereastra.
alert() confirm() open()
document.getElementById("id_button").onclick = function(){
  window.open("http://coursesweb.net/");
}
Indicati functia PHP care returneaza un array cu numele fisierelor si directoarelor dintr-un director.
mkdir() scandir() readdir()
$ar_dir = scandir("dir_name");
var_export($ar_dir);
Care din urmatoarele forme a verbului "sleep" (a dormi) se foloseste pentru viitor?
sleeping slept will sleep
He will sleep there.
- El va dormi acolo.
Care din urmatoarele forme a verbului "dormir" (a dormi) se foloseste pentru viitor?
dormido dormirá durmiendo
Él dormirá allí.
- El va dormi acolo.
KeyboardEvent - Evenimente pentru Tastatura

Last accessed pages

  1. Gradele de comparatie: comparative, superlative (51698)
  2. Creare formulare (9044)
  3. Teste spaniola - Tests y ejercicios de Español - Gramática (27926)
  4. Articolul din limba engleza - The article (69610)
  5. Afisare si chenare din CSS la elemente HTML (5764)

Popular pages this month

  1. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (792)
  2. Cursuri limba engleza gratuite si lectii online (349)
  3. Coduri pt culori (348)
  4. Gramatica limbii engleze - Prezentare Generala (338)
  5. Exercitii engleza - English Tests and exercises - Grammar (316)