Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    714

    [F8] Muovere una mc con le frecce in diagonale

    Ho creato questo codice:

    codice:
    var obj = new Object();
    spinta=1
    obj.onKeyDown = function(){
    	if (_root.spinta<=10) {
    		_root.spinta=_root.spinta+0.1
    	}
    	if(Key.getCode() == 37){
    		mirino._x=mirino._x-_root.spinta
    	}
    	if(Key.getCode() == 38){
    		mirino._y=mirino._y-_root.spinta
    	}
    	if(Key.getCode() == 39){
    		mirino._x=mirino._x+_root.spinta
    	}
    	if(Key.getCode() == 40){
    		mirino._y=mirino._y+_root.spinta
    	}
    }
    obj.onKeyUp = function(){
    	_root.spinta=1
    }
    Key.addListener(obj);
    Solo che non riesco a trovare un modo semplice per gestire anche i movimenti in diagonale (premende due frecce contemporaneamente). Qualcuno conosce qualche modo che ottimizzi il codice a permettermi di fare questi movimenti?

    Grazie
    mir
    Fotografario MultiUtente Interamente in Flash: QUI

  2. #2
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    già il codice che utilizzi dovrebbe permetterlo, anche se dovresti mettere in blocco con if...else if il movimento a destra o a sinistra e ugualmente per alto e basso

    diverso tempo fa feci un test a tal proposito, questo il codice:

    Codice PHP:
    var keyListener:Object = new Object();
    keyListener.onKeyDown = function() {
        if (
    Key.isDown(Key.LEFT)) {
            
    esca._x -= 20;
        } else if (
    Key.isDown(Key.RIGHT)) {
            
    esca._x += 20;
        }
        if (
    Key.isDown(Key.UP)) {
            
    esca._y -= 20;
        } else if (
    Key.isDown(Key.DOWN)) {
            
    esca._y += 20;
        }
    };
    Key.addListener(keyListener); 
    esca era un clip sullo schermo, e come ti ho detto su, funzionava correttamente anche in diagonale (schiacciando due frecce, es. BASSO-DESTRA)

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    714
    Quello che ho postato non mi permette di premere due tasti contemporanemente ... il codice esegue sempre l'ultimo bottone premuto.

    Ora dò un'occhiata al tuo e vediamo il dafarsi.

    Grazie
    mir
    Fotografario MultiUtente Interamente in Flash: QUI

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.