-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Intento cargar dos graficos (imagen_nave, imagen_enemigo).
imagen_nave (que se tiene que mover desde el cursor) me la carga y la mueve
lo mas bien; pero imagen_enemigo solo la carga unos pocos segundos y luego
desaparece.
Lo que no entiendo es:
1) como hago para que imagen_enemigo se muestre en pantalla en forma
permanente (sin moverse).
2) como hago para que imagen_enemigo se muestre en pantalla en forma
permanente (con movimiento).
Me parece que la funcion esta bien (estuve leyendo de vuelta el curso de
c-con-clase), porque incluso intente hacerlo sin la funcion y el resultado
fue el mismo. ¿El problema estara relacionado con el blit? Adjunto un resumen
del codigo para ver si alguien me da una manito.
Espero que me tengan paciencia.
Un saludo a todos y especialmente a Manuel (muy claras tus explicaciones,
gracias a ellas pude avanzar un monton).
¿Hay gente del Balug? ¡Impresionante!
Muchas gracias a todos por leerme.
int main(int argc, char *argv[]) {
PALETTE pal;
BITMAP *imagen_nave, *imagen_enemigo;
BITMAP *buffer; //PARA EL MOVIMIENTO
// INICIO ALLEGRO, INSTALO EL TECLADO Y FIJO EL MODO A 256 COLORES//
imagen_nave = load_bitmap("imagen_nave.pcx", pal);
imagen_enemigo = load_bitmap("imagen_enemigo.pcx", pal); //CARGO EL DIBUJITO
DEL
draw_sprite(screen,imagen_enemigo,500,300); //DIBUJO AL ENEMIGO
set_palette(pal); //ESTABLEZCO UNA UNICA PALETA PARA TODOS LOS GRAFICOS
MOVETE (buffer, imagen_nave); //LLAMO A LA FUNCION PARA EL MOVIMIENTO
readkey();
return 0;
}
END_OF_MAIN();
//-----------------------------------------------------------------------//
// FUNCION PARA EL MOVIMIENTO //
//-----------------------------------------------------------------------//
MOVETE (BITMAP *buffer, BITMAP *imagen_nave) {
int x = 500;
int y = 650;
buffer = create_bitmap (SCREEN_W, SCREEN_H);
clear(buffer); //LIMPIO EL BUFFER
while (!key[KEY_ESC]) {
if (key[KEY_LEFT] && x > 20) x=x-20; //se corre para la izquierda
if (key[KEY_RIGHT] && (x < 915)) x=x+20; //se corre para la derecha
draw_sprite (buffer, imagen_nave, x, y);
blit(buffer,screen,0,0,0,0,SCREEN_W,SCREEN_H);
clear(buffer); //LIMPIO EL BUFFER
}
} //FIN DE FUNCION MOVIMIENTO
- --
Llave Gnupg en:
http://pgp.rediris.es:11371/pks/lookup?op=get&search=0x6F1FD83E
Key fingerprint = F619 9CB9 8E42 0287 8386 D2ED AEBA 0FC5 6F1F D83E
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see http://www.gnupg.org
iEYEARECAAYFAj1u4T8ACgkQrroPxW8f2D498wCfYCwR+WZbkZASXWLLnKb9WLeG
wCwAnj4fWJ8erAXqd2mJZLtyKGISX6UB
=Tx3B
-----END PGP SIGNATURE-----