Bueno, parece que me es un poco complicado seguir las intenciones que me marco. Generalmente cuando me pongo a hacer algo y me doy cuenta de que tiene que ver con otra cosa me pongo a hacer esas dos cosas...
Que es lo que me ha ocurrido hoy, de las intenciones de ayer solamente he metido el codigo de la corveta de 90 grados (que se va a fusionar con la normal, me temo, aunque tengo mas cosas que pensar pq por ejemplo no se si tiene sentido tener todas las imagenes en memoria de la corvette rotando, tal vez me valga con 0, 90,180 y 270 grados... o tal vez de 30 en 30... tengo que pensarlo, pero en un rincipio parece que la corvette no va a rotar y que me sobran imagenes, tendre que no crearlas o eliminarlas).
El tema de las mascaras lo he empezado a hacer pero no lo entiendo muy bien... no me parece que sea demasiado eficiente ya que se hacen comparaciones bit a bit... si tenemos una mascara de bits, no seria mejor comparar de 16 en 16 o de 32 en 32? Aparte de que es bastante dependiente de la clase sprite de pygame y no queria depender mucho de pygame (aunque al final en la logica del juego me va a tardar en molestar).
Cosas que SI he hecho:
-He arreglado los problemas que tenia con los disparos (unos errores al dibujarlos). El error se debia a que por defecto se reseteaba a la animacion STAND y no se reseteaba el numero de frame, con lo cual los laseres que venian con angulo y se asignaban a tie interceptors petaban. Es un error bastante complicado de encontrar, he tenido suerte. Tambien he casteado los datos que me aparecian como floats en los paquetes de datos a int pq no tienen sentido los decimales cuando hablamos de pixeles.
-He hecho un universo mayor que la pantalla, ahora el xwing se desplaza por la pantalla y al llegar a cierta distancia del borde la pantalla se desplaza con el hasta llegar al extremo del campo de juego. Es to me sera util cuando sea multiplayer y pueda jugar en red en varias pantallas: se podran mostrar pantalla totalmente independientes y habra momentos en los que los jugadores no se vean entre si de lo lejos que andaran!!!. Ademas, he implementado un rudimentario metodo en la engine para que no pinte lo que no ve cada jugador (las naves/balas que queden fuera de su screen). Estaria bien que no se enviaran los paquetes, ya que significara menos trafico en red, pero tiene su complicacion si quiero un servidor multicast (o no, todavia no lo he hecho).
Cosas que he de hacer:
- Eliminar los paquetes que no se vayan a dibujar (los calculos se haran igual)
- Acabar el tema de las imagenes especiales con los reflejos de los laseres, las explosiones y las muertes
- Hacer funcional el tema de las naves medianas giradas
Pero lo hare en el orden que vaya viendo y tal vez intercale alguna otra cosa que vaya viendo necesaria.
No hay comentarios:
Publicar un comentario