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
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
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
Powered by vBulletin® Version 4.2.5 Copyright © 2026 vBulletin Solutions Inc. All rights reserved.