Ver Mensaje Individual
  #29 (permalink)  
Antiguo 03/10/2012, 14:40
Avatar de marlanga
marlanga
 
Fecha de Ingreso: enero-2011
Ubicación: Murcia
Mensajes: 1.024
Antigüedad: 13 años, 3 meses
Puntos: 206
Respuesta: desafios javascript 2012

¿Tienes pensado impartir, o asistir a un curso de videojouegos? Me interesaría saber más acerca de ese curso, donde se imparte, si es asistencial, o a distancia, de pago, etc.

Y volviendo al pong, anoche no pude dormir sabiendo que había dejado un juego incompleto a la vista de todos.

Probablemente cree un breve tutorial en mi blog acerca de cómo lo he hecho (para explicar el apasionante mundo de usar vectores para mover a las entidades de los juegos).

Y vualá. Ahora la pelota acelera cuando choca con las palas, cuando se marca un gol se resetea la partida, y además, como gran extra, le he añadido SONIDOS.


http://jsfiddle.net/marlanga/82uJH/7/

Acelerar la bola tiene un problemilla. Cuando la bola alcance mucha velocidad, es posible que entre frame y frame, recorra más distancia en ese tiempo delta transucrrido que el ancho de la pala. Es decir, es posible que "atraviese" la pala. Evitar ese problema es jodido, asi que lo que he hecho ha sido "posponerlo" un rato. En vez de mover la pelota el tiempo transcurrido desde el último movimiento, lo que hago es dividir ese tiempo en varios segmentos, y mover la pelota poco a poco. Por ejemplo, si el último movimiento tardó 40 milisegundos, y lo divido en trozos de 2 milisegundos, en ver de mover la pelota una sola vez la distancia que haya recorrido en 40 milisegundos, lo que haré es mover la pelota 20 veces la distancia que haya recorrido en 2 milisegundos. Así los saltos entre movimiento y movimiento no serán tan grandes, y tendrá que alcanzar 20 veces más velocidad para atravesar la pala, algo que nunca ocurrirá pues a no ser que jueguen 2 chinos, la pelota nunca irá tan rápido porque antes habrá perdido el match alguno de los jugadores.

Sin embargo, si entrais al juego y no moveis las palas, verás que al final, la pelota "atravesará" una de las palas, pero a una velocidad absurda.

Última edición por marlanga; 03/10/2012 a las 16:37