Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2001
    Messaggi
    327

    eventi tastiera in flash!

    Ciao a tutti.
    Se qualcuno potesse aiutarmi gliene sarei molto grato.
    Vengo al dunque:

    Devo crearmi una clip la quale mi dovrebbe visualizzare un numero digitato sul tastierino numerico. Non solo quelli ad una cifra ma anche a due.
    Mi spiego meglio. In pratica se:

    premo il num 1 ---- mi visualizza 1;
    premo il num 1 e 0 in sequenza ---- mi visualizza 10.

    Pensavo di inserire anche una funzione tipo timer in modo da permettere a flash di capire se sto digitando solo un numero oppure due. Non so se mi sono spiegato.

    Se qualcuno volesse darmi una dritta.....!

    Grazie in anticipo.
    Errare è umano, Perseverare è Diabolico.
    sapiente è colui ke sa di non sapere.

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2001
    Messaggi
    327
    Mi potrebbe anche andare bene in questo modo.

    Digitando un numero sul tastierino ad esempio 5, il filmato vada al relativo frame (5) ecc..

    Non sembra difficile, ma non mastico bene AS...aiutatemi se potete.
    Errare è umano, Perseverare è Diabolico.
    sapiente è colui ke sa di non sapere.

  3. #3
    Codice PHP:
    stage.addEventListener(KeyboardEvent.KEY_DOWNkeyPressedDown);  
    private function 
    keyPressedDown(event:KeyboardEvent):void {                          
    var 
    key:uint event.keyCodetrace(key);             
    if (
    event.keyCode == 27) {                 
    trace('ESC');             
    }         

    There is nothing conceptually better than Rock 'n' Roll.

    poker is very much like sex. most people think they're the best but don't know what they're doing.

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2001
    Messaggi
    327
    Grazie per la tua disponibilità Eddie .....ma perdonami, il codice lo inserisco nel primo fotogramma oppure in un mc.

    Ho provato ad inserirlo nel primo fotogramma del filmato, ma mi da errore.
    Errare è umano, Perseverare è Diabolico.
    sapiente è colui ke sa di non sapere.

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2001
    Messaggi
    327
    Ok...diciamo che in parte avrei risolto in questa maniera.


    Nel primo frame metto questo codice:

    codice:
    // Ottengo l'oggetto cookie
    var my_so:SharedObject = SharedObject.getLocal("DoveRiprendere");
    
    // Ottenego informazioni sull'oggetto cookie e vado al numero di fotogramma salvato
    if (my_so.data.fotogramma == null) {
        this.fotogramma = 1;
    	my_so.flush();
    	} else  {	//Se invece il file esiste...
    				//... vado al fotogramma corrispondente
    				this.gotoAndPlay( my_so.data.fotogramma );
    			}
    
    //Mi muovo avanti ed indietro da un frame all'altro con il tastierino numerico
    stage.addEventListener(KeyboardEvent.KEY_DOWN,keyDownListener);
    
    function keyDownListener(e:KeyboardEvent){
    if (e.keyCode == Keyboard.NUMPAD_ADD) {
    nextFrame();
    }
    if (e.keyCode == Keyboard.NUMPAD_SUBTRACT) {
    prevFrame();
    }
    }
    Adesso per fare in modo che mi memorizzi la posizione del filmato per ogni frame inserisco questo codice:

    codice:
    this.onEnterFrame = function() {
    		my_so.data.fotogramma = this._currentframe;		//Riscrivo nel file il fotogramma corrente.
    		my_so.flush();							//Scrivo sul file.
    Quando provo il filmato mi da errore di migrazione.
    Forse perchè sbaglio qualcosa nella funzione:

    codice:
    this.onEnterFrame = function() {
    Ok. Ma con AS2 funzionava, cosa è cambiato con AS3? :master:

    Qualche volenteroso smanettone mi aiuta?

    Thank's
    Errare è umano, Perseverare è Diabolico.
    sapiente è colui ke sa di non sapere.

  6. #6
    Utente di HTML.it L'avatar di Sleter
    Registrato dal
    Aug 2005
    Messaggi
    465
    Codice PHP:
    stop();
    stage.addEventListener(KeyboardEvent.KEY_DOWNkeyPressedDown);
    function 
    keyPressedDown(evento:KeyboardEvent):void {
        
    //var key:uint=evento.keyCode;
        //trace(key);
        
    if (evento.keyCode==101) {//101 = tastierino numerico 5
            
    gotoAndStop(5);
        }

    Con questo codice AS3 sul primo fotogramma, premendo il tasto 5 (tastierino numerico) sposti la timeline al fotogramma 5.

    Eliminando i commenti alla variabile key e al trace(key) puoi ottenere alcuni codici da tastiera e maggiori info sui codici le puoi trovare qui:

    http://help.adobe.com/it_IT/AS3LCR/F.../Keyboard.html

    Tornando al tuo progetto iniziale, ti basta inserire sullo stage un campo di testo dinamico di nomeIstanza "testo" e nel codice sopra, invece del gotoAndStop, sostituisci con:

    testo.text="5";

    Per quanto riguarda l'inserimento di 2 numeri invece di 1 non saprei dirti molto perchè non ho mai approfondito la questione e comunque credo sia esatto quello che hai scritto all'inizio, serve un timer e un "ascoltatore" che rileva se i tasti sono premuti entro un certo tempo.

    ciao

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2001
    Messaggi
    327
    qualcuno non saprebbe come fare per il implementare un controllo timer in modo da far aspettare flash così da capire quando l'utente vuole digitare un numero 1 e quando il numero 10?

    Se poi avete qualche suggerimento alla soluzione del problema, è ben accetto.
    Errare è umano, Perseverare è Diabolico.
    sapiente è colui ke sa di non sapere.

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.