Mi date una mano con un' animazione in JavaScript

di il
3 risposte

Mi date una mano con un' animazione in JavaScript

L'animazione è questa:

http://aharrisbooks.net/h5g/h5g_8/walkAnim.htm

Mi piacerebbe modificare il codice in modo che l'animazione del personaggio abbia luogo quando i tasti sono attualmente premuti, (in stile gioco Super Mario Bros del 1985, per chiarirci) e non quando vengono rilasciati, come nell'esempio in questione. Quando il tasto è premuto, se notate, il personaggio si muove e basta (no animazione).

Non sono un grande conoscitore di JavaScript, e la libreria in questione, SimpleGame.js, non è molto popolare. A corollario di ciò, né l'autore, né il forum del sito, sembrano essere attualmente attivi.

E' un po' che ci provo ma non riesco a trovare una soluzione...

3 Risposte

  • Re: Mi date una mano con un' animazione in JavaScript

    Perche' hai sbagliato l'approccio sul funzionamento del codice... almeno per come tu lo hai descritto.

    Il codice parte gia' con un movimento del personaggio che viene animato (in pratica e' una successione di tanti fotogrammi).

    Il movimento va' in una direzione, e continua ad andare in quella direzione fintantoche' non premi un tasto delle frecce per cambiargli direzione, (non devi tenere premuto il tasto freccia per sempre, basta premerlo e rilasciarlo per far cambiare la direzione al personaggio che continuera' a camminare per fatti suoi sempre con l'animazione).

    Infatti la barra spaziatrice ferma il personaggio.

    Nel codice ci sono una serie di condizioni (IF per intenderci) che verificano se premi un tasto freccia oppure la barra spaziatrice, se lo fai allora il personaggio cambia direzione oppure si ferma.

    E' proprio il codice impostato cosi... se lo vuoi cambiare ci devi lavorare parecchio, (questo perche' hai detto di non conoscere bene la programmazione).
  • Re: Mi date una mano con un' animazione in JavaScript

    Infatti non sono un esperto, ma il codice non è mio, è semplicemente open source, come lo è la libreria su cui si appoggia. Ma ho provato e riprovato, non mi sembra che ci sia nulla di sbagliato in:
     if (keysDown[K_LEFT]){
                    character.setSpeed(1);
                    character.playAnimation()
                    character.setMoveAngle(270);
                    character.setCurrentCycle("left");
    io penso che il problema di fondo sia il fatto che "keysDown" viene interpretato come "il tasto viene semplicemente premuto e poi rilasciato", infatti l'animazione parte quando si rilascia il tasto... bisognerebbe trovare qualcosa di simile a "keysPressed" (il tasto viene premuto e mantenuto premuto). Ma if (keysPressed) non fa parte della libreria a cui si appoggia l'animazione....e da un errore....
  • Re: Mi date una mano con un' animazione in JavaScript

    C'è qualcosa tipo keyUp?
Devi accedere o registrarti per scrivere nel forum
3 risposte