Ayuda con javascript - Sprite canvas

Iniciado por SrTrp, 3 Julio 2017, 20:58 PM

0 Miembros y 1 Visitante están viendo este tema.

SrTrp

Tengo una imagen de 200 de anchor y 100 de altura y en ella hay 2 sprites cada uno es de 100x100 intento darle una animacion que cambie pero en lugar de se cambie cada cierto tiempo parece un carrete que va recorriendo toda la imagen no se si tenga un error algo.
No soy muy bueno en las matematicas de videojuegos.

EL spritecw Es la variable que lleva acabo la imagen.
function crear(ctx){
       if(player.timer%2==0)
           player.drawImageArea(ctx,spritecw,(~~(aTimer*10)%10)*10,0,100,100);

ivancea96

Basta hacer el cálculo de esta ecuación: ~~(aTimer*10)%10.
Sea lo que sea aTimer, el resultado saldrá entre 0 y 10. Dado que lo multiplicas por 10, saldrá entre 0 y 90 (0, 10, 20...), que es la "transición" que tú ves.

Necesitas otra ecuación. Tú quieres, supongo, que cada X segundos, cambie el sprite. Para ello, sería algo como:
Suponiendo que aTimer sean los segundos transcurridos.
Código (javascript) [Seleccionar]
Math.floor(aTimer*(1/2 /* cada 2 segundos */))%2 * 100
Eso dará, cada 2 segundos, 0 o 100. En fin, es jugar con la ecuación.

De todos modos, si vuelves a tener un problema así, revisa las ecuaciones. Nada de lo que ocurre en tu programa es un "no funciona como yo quiero". Funciona todo como tú le has dicho; revisa por qué ;D

SrTrp

Gracias me sirvio demasiado con lo que me brindaste solo hice que ajuste el tiempo
así quedo mi linea ;-) ;-) ;-) ;-) ;-)
Código (javascript) [Seleccionar]
player.drawImageArea(ctx,spritecw,(Math.floor(aTimer*(100/2))%2 * 10)*10,0,100,100);