Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    Gestione bottoni attraverso tastiera

    Vi posto il codice che ho scritto:
    ------------------------------------------------------------------------------------------
    function CambioPulsanti(event:KeyboardEvent):void
    {
    var Numero:int = event.keyCode;
    stage.addEventListener(KeyboardEvent.KEY_UP, vaiSito);
    if (Numero == 97 || Numero == 49)
    {
    trace("Premuto tasto 1");
    }
    if (Numero == 98 || Numero == 50)
    {
    trace("Premuto tasto 2");
    }
    if (Numero == 99 || Numero == 51)
    {
    trace("Premuto tasto 3");
    }
    }
    function vaiSito (event:KeyboardEvent):void
    {
    var Numero:int = event.keyCode;
    if (Numero == 97 || Numero == 49)
    {
    trace("Vai sito 1");
    }
    if (Numero == 98 || Numero == 50)
    {
    trace("Vai sito 2");
    }
    if (Numero == 99 || Numero == 51)
    {
    trace("Vai sito 3");
    }
    }
    stage.addEventListener(KeyboardEvent.KEY_DOWN,Camb ioPulsanti);
    ------------------------------------------------------------------------------------------

    allora vorrei che quando premo il tasto 1 il pulsante bottone1 si metta in posizione "over" e quando rilascio il tasto 1 il file flash mi mandi ad un indirizzo ad es www.google.it
    come si fa??

    grazie per l'aiuto!

  2. #2

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    18
    Ciao Lory, credo di aver afferato quello che vuoi fare. Qui il codice. Noterai che vi sono delle parti in piu' relative all'analisi dei tasti premuti, ... le avevo già, e non le ho cancellate, potrebbero servirti in futuro.

    ...per il test aggiungi un bottote sullo stage : bottone.


    Codice PHP:

    //---------------------------------------------------------------
    //   ACTION SCRIPT 3.0 
    //   Gestione BOTTONI tramite TASTIERA e Link HTTP 
    //---------------------------------------------------------------
    import flash.events.KeyboardEvent;
    import flash.events.Event;
    import flash.net.*;


    // Dichiaro un oggetto di classe URLrequest...  mi servirà per il link ai siti  
    var  oggURL:URLRequest = new URLRequest();


    // Aggiunta degli Ascoltatori (allo stage)
    // ...si potrebbero anche agiungere ai relativi bottoni... 
    stage.addEventListener(KeyboardEvent.KEY_DOWNTastoGiu);
    stage.addEventListener(KeyboardEvent.KEY_UPTastoSu);
    //---------------------------------------------------------------


    //---------------------------------------------------------------
    // FUNCTION : TastoGiu() 
    //            la Funzione è richiamata al pressione di un tasto 
    //                  EVENTO : KEY_DOWN 
    //---------------------------------------------------------------
    function TastoGiu(evento:KeyboardEvent):void
    {
        var 
    keyPressed :String;
        var 
    charKey     :String;
         
        
    // Intercettiamo il Tasto Premuto :
         
        // .........................................................
        // ...questo potrebbe servire per il futuro 
        // .........................................................
        
    trace("-----------------------------------------");
        
    trace("keyCode      : "  evento.keyCode);
        
    trace("charCode     : "  evento.charCode);
        
    trace("ctrlKey        : "  evento.ctrlKey);
        
    trace("keyLocation  : " evento.keyLocation);
        
    trace("shiftKey       : " evento.shiftKey);
        
    trace("altKey          : " evento.altKey);
        
    trace("-----------------------------------------");
        
    // .........................................................

        // .........................................................
        // ANALISI DEL KeyCode 
        // .........................................................
        
    switch (evento.keyCode)
        {
             
            
    // ..................................................... 
            // TASTI BASE E DI NAVIGAZIONE  
            // ..................................................... 
            
    case 27 :
                  
    trace("ESCAPE"); 
                  break;
            case 
    16 :
                          
    trace("SHIFT"); 
                  break; 
            case 
    17 
                  
    trace("CONTROL");
                  break; 
            case 
    32 :
                  
    trace("SPACEBAR");
                  break;
            case 
    37 :
                  
    trace("LEFT");
                  break;
            case 
    39 :
                  
    trace("RIGHT");
                  break;
            case 
    38 :
                  
    trace("UP");
                  break;
            case 
    40 :
                  
    trace("DOWN");
                  break;
                        
            
    // TASTI FUNZIONE KEYS
            
    case 112 :
                  
    trace("F1");
                  break;
            
    // etc..... 
        
    }
        

        
    // .........................................................
        //  CONVERSIONE DEL KeyCode in Stringa... 
                 //  ...è più pratico
        // .........................................................
        
    charKey String.fromCharCode(evento.keyCode);
        switch (
    charKey)
        {
            case 
    '1' 
                        
    // E' stato premuto 1  
                        
    trace("premuto 1");
                        
    // ...simuliamo il mouse over sul bottone 
                        // inviamogli l'evento over....del mouse
                        
    bottone.dispatchEvent(new MouseEvent(MouseEvent.MOUSE_OVER));                
                        break;
            case 
    '2' 
                        
    trace("premuto 2");
                        
    // btn2.dispatchEvent(new MouseEvent(MouseEvent.MOUSE_DOWN));                
                        
    break;
                        
    // etc... 
            
    default :
                        break;
                        
        }
    }



    //---------------------------------------------------------------
    // FUNCTION : TastoSu() 
    //              La Funzione è richiamata al rilascio del Tasto
    //            EVENTO : KEY_UP 
    //---------------------------------------------------------------
    function TastoSu(evento:KeyboardEvent):void
    {
        var 
    charKey    :String;

        
    // Coverto il KeyCode in stringa è più pratico
        
    charKey String.fromCharCode(evento.keyCode);
        switch (
    charKey)
        {
            case 
    '1' 
                
    trace("rilascio 1");
                
    // 
                // ...richiamo una Funzione per il link 
                
    VaiAlSito("www.google.it");
                
    //
                
    break;
            case 
    '2' 
                
    trace("rilasciato 2");
                
    // .....
                // VaiAlSito("bla bla bla ");
                
    break;
                
    // etc... 
            
    default :
                break;
                        
        }

    }


    //---------------------------------------------------------------
    // FUNCTION : VaiAlSito() 
    //            La Funzione richiama un link http
    //            riceve come parametro il nome del link 
    //---------------------------------------------------------------
    function VaiAlSito(pUrl:String)
    {
        
    // Assegna il pUrl (il link) alla proprietà url 
        // dell'oggetto di classe URLRequest che abbiamo dichiarato 
                 // all'inizio... 
        
    oggURL.url "http://" pUrl;
        
        
    // ok... naviga  
        
    navigateToURL(oggURL"_self");
    }
    //--------------------------------------------------------------- 
    ...spero sia chiaro. buon lavoro. silver55.

  4. #4
    GRAZIE INFINITE PER IL CODICE!

    Molto utile, ho risolto il problema, ql'unica stringa che non funziona è

    bottone.dispatchEvent(new MouseEvent(MouseEvent.MOUSE_OVER));

    ho anche provato a copiare e incollare in 1 nuovo file flash mettendo un bottone di nome bottone ma niente!

    per piacere aiutami grazie!!

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    18
    Ciao lory, si, scusami ho sbagliato... avevo fatto il test con MOUSE_DOWN e poi istintivamente ho correto in OVER ....l'evento esatto è :

    Codice PHP:
         bottone.dispatchEvent(new MouseEvent(MouseEvent.ROLL_OVER)); 

    ...qui di seguito ti indico l'elenco degli eventi (forse da completare) MOUSE e KEYBOARD in AS2 e AS3

    ..è bene tenerlo sempre a portata di mano... ciao.

    Codice PHP:

    // ..................................................................
    //
    // ELENCO DEGLI EVENTI IN ACTION SCRIPT 2.0 e ACTION SCRIPT 3.0 
    // 
    // ..................................................................

    // ------------------------------------------------------------------
    // AS 2.0           AS 3.0 
    // ------------------------------------------------------------------
    //
    // ..................................................................
    // onPress          "mouseDown" (MouseEvent.MOUSE_DOWN)   
    // ..................................................................
    // 
    // ..................................................................
    // onRelease        "mouseUp"   (MouseEvent.MOUSE_UP), 
    //                  "click"     (MouseEvent.CLICK)    
    // 
    // Il Click su di un oggetto è una combinazione di 
    // mouseDown e mouseUp 
    // ..................................................................


    // ..................................................................
    // onReleaseOutside "mouseUp"   (MouseEvent.MOUSE_UP) 

    // OnReleaseOutside è stato eliminato, ma usando l'evento mouseUp 
    // sullo stage (per effetto della popagazione) saremo in grado 
    // di intercettare quando il mouse è stato rilasciato fuori 
    // dall'oggetto origine
    // ..................................................................


    // ..................................................................
    // onRollOver       "mouseOver" (MouseEvent.MOUSE_OVER) 
    //                  "rollOver"  (MouseEvent.ROLL_OVER) 
    // ..................................................................


    // ..................................................................
    // onRollOut        "mouseOut"  (MouseEvent.MOUSE_OUT), 
    //                  "rollOut"   (MouseEvent.ROLL_OUT) 
    // ..................................................................


    // ..................................................................
    // onDragOver       "mouseOver" (MouseEvent.MOUSE_OVER), 
    //                  "rollOver"  (MouseEvent.ROLL_OVER) 
    // 
    // intercetta un "drag" che è stato fatto manualmente 
    // in combinazione con l'evento mouseDown
    // ..................................................................

    // ....................................................................
    // onDragOut        "mouseOut"  (MouseEvent.MOUSE_OUT), 
    //                  "rollOut"   (MouseEvent.ROLL_OUT) 

    // intercetta un "drag" che è stato fatto manualmente 
    // in combinazione con l'evento mouseDown
    // ....................................................................

    // ....................................................................
    // mouseDown        "mouseDown" (MouseEvent.MOUSE_DOWN) 
    // 
    // intercetta il mouse Down
    // ....................................................................

    // ....................................................................
    // mouseUp          "mouseUp"   (MouseEvent.MOUSE_UP) 
    //
    // intercetta il mouse Up
    // ....................................................................


    // ....................................................................
    // mouseMove        "mouseMove" (MouseEvent.MOUSE_MOVE) 
    // 
    // intercetta il mouse Move (il movimento del mouse sopra l'oggetto)
    // ....................................................................

    // ....................................................................
    // onKeyDown        "keyDown"   (KeyboardEvent.KEY_DOWN) 
    //
    // Tasto Down 
    // L'oggetto deve avere il focus per ricevere questo evento )
    // Normalmente gli oggetti non possono avere ascoltatori di eventi 
    // tastiera.. ma solo gli InteractiveObject  
    // ....................................................................


    // ....................................................................
    // onKeyUp          "keyUp"     (KeyboardEvent.KEY_UP)
    // 
    // Rilascio del Tasto 
    // L'oggetto deve avere il focus per ricevere questo evento )
    // Normalmente gli oggetti non possono avere ascoltatori di eventi 
    // tastiera.. ma solo gli InteractiveObject  
    // .................................................................... 

  6. #6
    neanche così funiziona, ti posto il codice che ho scritto

    Codice PHP:
    import flash.events.KeyboardEvent;
    import flash.events.Event;
    import flash.net.*; 
    //---- Lista siti-------
        
    var  S_ChiSono:URLRequest = new URLRequest(); 
        
    S_ChiSono.url "http://www.google.it"
        var  
    S_CGP:URLRequest = new URLRequest(); 
        
    S_CGP.url "http://www.ebay.it"
        var  
    S_Art:URLRequest = new URLRequest(); 
        
    S_Art.url "http://www.flashgames.it"
    ///------Fine lista siti----
    stage.addEventListener(KeyboardEvent.KEY_DOWN,CambioPulsanti);

    function 
    CambioPulsanti(event:KeyboardEvent):void
    {
        var 
    Numero:int event.keyCode;
        
    stage.addEventListener(KeyboardEvent.KEY_UPvaiSito);
        
        if (
    Numero == 97 || Numero == 49)
        {
            
    ChiSono.dispatchEvent(new MouseEvent(MouseEvent.ROLL_OVER));
        }
        if (
    Numero == 98 || Numero == 50)
        {
            
    C_G_P.dispatchEvent(new MouseEvent(MouseEvent.ROLL_OVER));
        }
        if (
    Numero == 99 || Numero == 51)
        {
            
    Art.dispatchEvent(new MouseEvent(MouseEvent.ROLL_OVER));
        }
        }
    function 
    vaiSito (event:KeyboardEvent):void
    {
        var 
    Numero:int event.keyCode;
        if (
    Numero == 97 || Numero == 49)
        {
            
    navigateToURL(S_ChiSono"_self"); 
        }
        else if (
    Numero == 98 || Numero == 50)
        {
            
    navigateToURL(S_CGP"_self"); 
        }
        else if (
    Numero == 99 || Numero == 51)
        {
            
    navigateToURL(S_Art"_self"); 
        }
    }
    /////////////////////////////////////////////////////////////////////////////////////////
    stop() 

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    18
    ...ho provato anche il tuo codice e va ...i bottoni si mettono in stato di OVER o ROLL_OVER ..e' questo che vuoi ? ...o vuoi che i bottoni stiano in stao di DOWN ( colorati di azzurro ) ?? spiegami cosa non va ...

    ..ti suggerisco di utilizzare quello che ti ho inviato .... ( usa swith per l'analisi del tasto non tanti if ) ... poi avevo convertito il keyCode ... è piu' semplice gestirlo ... invece di ricordare i valori dei tasti numerici ... fammi sapere...

  8. #8
    vorrei siano in stato down, grazie dell'auto!

  9. #9
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    18
    ! quidi modifica in MOUSE_DOWN ... l'elenco serviva a questo buon lavoro

  10. #10
    no, non va purtroppo

    ti allego il file coosì vedi un po' cosa c'è che non va


    http://creainfo.altervista.org/Menu.fla

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.