Visualizzazione dei risultati da 1 a 7 su 7

Discussione: on keyPress in AS3

  1. #1

    on keyPress in AS3

    Salve a tutti,
    non ho ancora molta dimistichezza con l'as3 e mi trovo a dover inserire un comando in una applicazione che fa esattamente quello che
    codice:
    on (keyPress "<Right>") {
          gotoAndPlay("Scene 2", 1);
    }
    fa in as2.

    Praticamente devo mappare una serie di tasti della tastiera in modo che alla loro pressione il filamto salti da un frame ad un'altro.

    Suggerimenti?

    Grazie mille,
    Carlo

  2. #2
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    in AS3 si usa il modello ad eventi che si aggiungono ad un determinato elemento utilizzando la funzione addEventListener
    nel caso delle funzioni di tastiera puoi agganciare gli eventi alla classe Stage e dovresti ottenere che questi vengano sempre eseguiti
    un esempio semplice di applicazione puoi essere questo:

    Codice PHP:
    stage.addEventListener(KeyboardEvent.KEY_DOWNkeyDownHandler);
    function 
    keyDownHandler(evt:KeyboardEvent) {
        switch (
    evt.keyCode) {
            case 
    Keyboard.SPACE :
                
    trace("Toccato tasto SPACE");
                break;
            case 
    65 :
                
    trace ("Toccato tasto A");
                break;
            default :
                
    trace(evt.keyCode);
                break;
        }

    se premo SPACE mi attiva il primo trace, se premo A (maiuscolo o minuscolo è uguale) il secondo trace, se premo un qualsiasi altro tasto mi traccia il codice corrispondente al tasto

  3. #3
    Fantastico! Sei stato rapidissimo.
    Una sola precisazione, scendendo un pò più nel particolare del mio caso: se invece di restituirmi un valore volessi saltare da una parte all'altra della timeline che comando dovrei utilizare?
    Inoltre mi sembra di capire che Keyboard.SPACE venga riconosciuto direttamente come

  4. #4
    Fantastico! Sei stato rapidissimo.
    Una sola precisazione, scendendo un pò più nel particolare del mio caso: se invece di restituirmi un valore volessi saltare da una parte all'altra della timeline che comando dovrei utilizare?
    Inoltre mi sembra di capire che Keyboard.SPACE venga riconosciuto direttamente come SPAZIO mentre per la A devo inserire un codice. E' ASCII? QUali altri tasti riconosce flash direttamente, come Keyboard.SPACE?
    Grazie ancora,
    Carlo

  5. #5
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    per conoscerli tutti meglio affidarsi alla guida interna di flash, sulla classe Keyboard c'è la lista intera
    riguardo al codice, non è il suo codice ASCII, è un codice impostato da flash per non fare differenza tra maiuscole e minuscole, ma volendo è possibile usare un'altra proprietà (charCode) e quindi determinare se si sta premendo ad esempio "a" oppure "A" inoltre puoi sapere se stai premendo tasti in combinazione (es CTRL o SHIFT) e comportarti di conseguenza

  6. #6
    E se invece di restituirmi un valore volessi saltare da una parte all'altra della timeline che comando dovrei utilizare (ex gotoandplay in as2)?
    Grazie,
    Carlo

  7. #7
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    il comando è invariato anche in AS3
    ti consiglio di guardare nella guida quando hai dubbi del genere, c'è l'intera lista delle classi con i loro metodi e le loro proprietà supportate
    in alternativa puoi consultare la stessa documentazione sul web: http://livedocs.adobe.com/flash/9.0_...riptLangRefV3/

    riguardo al goto: http://livedocs.adobe.com/flash/9.0_...#gotoAndPlay()

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.