PDA

Ver la versión completa : ¿Algún juego sencillo de código abierto para GP32?



Puck2099
07/06/2004, 21:34
Hola,

Estoy empezando a programar mi primer juego para la GP32 (un juego sencillito de fichas) y no tengo mucha idea del manejo de imágenes y tal (ya he conseguido mostrarlas, pero quiero ver cómo moverlas correctamente, porque el repintar la pantalla como estoy haciendo con cada movimiento no me parece lo más correcto).

¿Alguien sabe de algún juego sencillito de código abierto que use las SDK y haga uso de sprites?. Me gustaría echarle un vistazo al código para ver cómo resuelve estos problemas el programador.

Muchas gracias

ilarri
08/06/2004, 11:39
pues ahora mismo no.

Wave
08/06/2004, 12:00
Mirate el codigo del GPGAMES pero yo borro la pantalla todo el rato XD

Puck2099
08/06/2004, 12:43
He encontrado un juego de cartas después de buscar, pero al final ni lo he mirado porque ya he conseguido mover un sprite sin que parpadee la pantalla usando lo del doble bufer.

Ahora el fondo se ve bien y el sprite también, no parpadea nada, pero el sprite "tiembla", ¿sabéis a qué se puede deber?

Saludos

Wave
08/06/2004, 13:10
Probablemente no este bien sincronizado el doble buffer.

Puck2099
08/06/2004, 13:21
Te pego un trozo del código donde hago uso del doble búfer a ver si me puedes decir si hay algo mal (antes de eso hago inicializaciones y poco más):



while(1) {
GpKeyGetEx(&ExKey);
if(ExKey & GPC_VK_LEFT) {
GpBitBlt(NULL, &gpDraw[nflip], 0, 0, 320, 240,
(unsigned char*)sprite_tileset, 0, 0, sprite_tileset_width, sprite_tileset_height);
x = x-1;
GpTransBlt(NULL, &gpDraw[nflip], x, y, 50, 50,
(unsigned char*)cara, 0, 0, cara_width, cara_height,0xf1);
}
if(ExKey & GPC_VK_RIGHT) {
GpBitBlt(NULL, &gpDraw[nflip], 0, 0, 320, 240,
(unsigned char*)sprite_tileset, 0, 0, sprite_tileset_width, sprite_tileset_height);
x = x+1;
GpTransBlt(NULL, &gpDraw[nflip], x, y, 50, 50,
(unsigned char*)cara, 0, 0, cara_width, cara_height,0xf1);
}
GpSurfaceFlip(&gpDraw[nflip++]);
nflip &= 0x01;
}


Muchas gracias por la ayuda

Puck2099
08/06/2004, 13:33
Uhm, creo que ya sé porque puede ser, porque en un buffer esté la imagen desplazada un pixel y en el otro no.

Luego pruebo a modificar eso a ver si así se arregla.

Saludos

Puck2099
08/06/2004, 14:06
Vale, era lo que yo pensaba, en uno de los buffers la imagen estaba desplazada y en el otro no, ya lo he arreglado.

Saludos