lunes 9 de febrero de 2009

Crónicas D+D Engine: En la recta final.

Ya falta poco.
No nos pongamos a definir poco ;)

¡Que kilombo! Bueno ahi se ven primitivas, sprites, fuentes subrayadas, y etc......

Bueno como el título dice ya casi estoy en la recta final. ¿Y que hay hecho hasta ahora?:

Mouse. (Nuevo)
Teclado.

Pantalla.

ControlFPS.

ObjetoMovil.

Particula.(Nuevo)
ImagenFuente.
Fondo.
TileSet.
Sprite.

Bueno y que falta:
SistemaDeParticulas. ( Similar al de GM, pero diferente :p )

TileSetScrolled (Realmente no se si sera util asi que dudo todavia si lo implemento o no.)

Sonido.
Reproductor.
Las novedades:
Mouse: bueno pense que iba a ser más complicada de implementar pero resulto asombrosamente mas sencillo de lo que esperaba. Es más no tube que mirar ejemplos, la documentacion de SDL lo tenia todo.
Hay una funcion muy util llamada: Uint8 SDL_GetMouseState(int * x,int * y); la cual en la x e y nos deja la posicion del mouse obviamente y nos devulve un entero de 8 que nos sirve para verificar el estado de los botones.
Es sencillo de usar, he aqui el metodo actualizar del objeto Mouse;

void Mouse::actualizar()
{
SDL_PumpEvents();

Uint8 e;
e = SDL_GetMouseState(&x,&y);

for (int i=1; i<=5; i++) { old[i]=botones[i]; botones[i] = e & SDL_BUTTON(i); } }


Por otro lado esta la Clase Particula (La cual pienso ampliar más) que hereda de ObjetoMovil. Por lo tanto ya esta resuelto todo lo que influye al movimiento de las mismas. Por ahora tiene varios tipos de particulas: LINEA,CUADRADO,CIRCULO,TRIANGULO,LINEA_MOV,TRIANGULO_MOV, SPRITE.

Las que terminan en MOV quiere decir que su forma se ve afectada por el movimiento de la particula.
Tambien tiene tamaño, y se le puede asignar un sprite (aunque todavia esta medio rustico el asunto). Cuenta ademas con un atributo crecimiento que hace crecer o decrecer el tamaño la particula.
Resta agregar y diseñar el comportamiento para modificar el color de la particula (Algo asi como desplazamiento de alpha y mezclas de color), y tambien agregar mas formas MOV, u otro tipo que se me ocurra.

Con respecto a las clases relacionadas al sonido todavia nos las diseñe porque no conozco la forma en que se usan en SDL. Asi que no hay mucho que decir.

Por otro lado la clase SistemaDeParticulas va a ser una clase contenedora que manejara una lista de particulas dinamicas, la cual se va a encargar de eliminar y crear las instancias de Particulas segun algunos metodos.

Eso es todo por ahorªaAaa!









1 comentarios:

Darth RPG dijo...

O.o Ya te pasaste XD. Esto es muchísimo más de lo que podría imaginar.

Te lo has currado muchísimo, mis felicitaciones.