MiniWin icon indicating copy to clipboard operation
MiniWin copied to clipboard

Sugerencia para MiniWin

Open erkosone opened this issue 12 years ago • 0 comments

[SUGERENCIA] Objetos tipo Sprite?

Esto ya es un poco mas específico para vídeo juegos, haber si logro explicarme con claridad..

Imagina no tener que pintar todo en pantalla a trazos/circulos/cuadrados/rectangulos.. vale.. imagina que todas tus funciones de pintar tienen un overload que permite pintar en "otro buffer" que buffer? el que crea el objeto Sprite.

Sprite sería una clase la cual tendría varios métodos getters y setters, como por ejemplo algo así:

int pepe = new Sprite();

Con eso guardamos en la variable 'pepe' un identificador que apunta a la instancia que se ha creado de la clase Sprite, vale, pues ahora para setear la posición de ese sprite simplemente haríamos: pepe.x = lo que sea.. pepe.y = lo que sea..

lo que sucede es que hace falta que la clase Sprite cree un lienzo propio donde poder pintar, así en vez de tener que pintar todo a mano cada vez se pinta una vez en el lienzo del Sprite y luego simplemente se le da unas coordenadas al propio objeto.

Las propiedades que debería tener mínimas para que quede interesante el tema son estas: .X -> coordenada en el eje X .Y -> coordeanda en el eje Y .Z -> prioridad de pintado, esto es para colocar cada Sprite a una profundidad "manejable", simplemente indica el orden en que se va a pintar en la ventana este sprite, si 2 sprites tienen el mismo valor de Z entonces se pintará primero el que se creó primero sin mas. .ANGULO -> esta propiedad permitiría rotar dado un angulo como se va a pintar el sprite, es muy práctica ;)

Bueno.. esto ya no es tan simple como las otras sugerencias.. implica mucho trabajo sobre todo para gestionar el sistema de los lienzos de los Sprites..

Si creo un sprite así: pepe = new Sprite();

Ahora debería poder pintar en el con todas las funciones de pintado.. esto ya es mas complejo XD.. no sabría como hacerlo así a bajo nivel..

Entonces en el bucle principal del programa: pepe.queTePintes();

Y ale.. sprite pintado de un plumazo.

Un saludo.

erkosone avatar Sep 21 '12 19:09 erkosone