ianaz
04-10-2005, 15:45
Ciao, ho iniziato da poco con la libreria allegro.h senza guida.
Ho fatto un piccolo programminoper imparare un po' a caricare immagini eccetera.
Dev-Cpp non mi da nessun errore ma mi potete dire se in questo codice c'é qualcosa di sbagliato? (ad esempio caricare doppiamente blit(imgprova, screen, 0, 0, 0, 0, 800, 600);)
Altra cosa: qualcuno sa se si trovano delle guide su allegro.h in italiano?
Il codice é questo:
#include <allegro.h>
#include <stdio.h>
#include <conio.h>
BITMAP *buf, *logo, *immagine, *imgprova;
PALETTE image;
int ritardo, vai;
SAMPLE *musica;
void inizio(){
if(key[KEY_ENTER]){
vai = 1;
}
if(vai == 1){
imgprova = load_bmp("provaimg.bmp",image); //qui come prova carico un immagine prova solamente per esempio
set_palette(image);
blit(imgprova, screen, 0, 0, 0, 0, 800, 600); //questo, é giusto???
textout_ex(screen, font, "Premi ESC per uscire ", 275, 470,
makecol(0, 0, 255), -1);
}
else {
immagine = load_bmp("black.bmp",image);
set_palette(image);
blit(immagine, screen, 0, 0, 0, 0, 800, 600);
}
}
int main()
{
allegro_init();
install_keyboard();
set_gfx_mode(GFX_SAFE, 800, 600, 255, 0);
install_sound(DIGI_AUTODETECT, MIDI_AUTODETECT, 0);
logo = load_bmp("logo.bmp",image);
if(!logo){
allegro_message("Il file \"logo.bmp\" non e stato trovato");
return 0;
}
else{
blit (logo, screen, 0, 0, 0, 0, 800, 600);
}
musica = load_sample("musica.wav");
if(!musica){
allegro_message("Il file \"musica.wav\" non e stato trovato");
return 0;
}
else{
play_sample(musica, 255,255,5000, FALSE);
}
set_palette(image);
textout_ex(screen, font, "BENVENUTI IN...", 200, 230,
makecol(0, 0, 255), -1);
textout_ex(screen, font, "Premi ESC durante il gioco per uscire ", 275, 470,
makecol(0, 0, 255), -1);
for(ritardo=0;ritardo<200;ritardo++){
vsync();
}
while(!key[KEY_ESC]){
inizio();
}
destroy_bitmap(logo);
stop_sample(musica);
allegro_message(" Created by ianaz\t");
return 0;
}
END_OF_MAIN ();
Ho fatto un piccolo programminoper imparare un po' a caricare immagini eccetera.
Dev-Cpp non mi da nessun errore ma mi potete dire se in questo codice c'é qualcosa di sbagliato? (ad esempio caricare doppiamente blit(imgprova, screen, 0, 0, 0, 0, 800, 600);)
Altra cosa: qualcuno sa se si trovano delle guide su allegro.h in italiano?
Il codice é questo:
#include <allegro.h>
#include <stdio.h>
#include <conio.h>
BITMAP *buf, *logo, *immagine, *imgprova;
PALETTE image;
int ritardo, vai;
SAMPLE *musica;
void inizio(){
if(key[KEY_ENTER]){
vai = 1;
}
if(vai == 1){
imgprova = load_bmp("provaimg.bmp",image); //qui come prova carico un immagine prova solamente per esempio
set_palette(image);
blit(imgprova, screen, 0, 0, 0, 0, 800, 600); //questo, é giusto???
textout_ex(screen, font, "Premi ESC per uscire ", 275, 470,
makecol(0, 0, 255), -1);
}
else {
immagine = load_bmp("black.bmp",image);
set_palette(image);
blit(immagine, screen, 0, 0, 0, 0, 800, 600);
}
}
int main()
{
allegro_init();
install_keyboard();
set_gfx_mode(GFX_SAFE, 800, 600, 255, 0);
install_sound(DIGI_AUTODETECT, MIDI_AUTODETECT, 0);
logo = load_bmp("logo.bmp",image);
if(!logo){
allegro_message("Il file \"logo.bmp\" non e stato trovato");
return 0;
}
else{
blit (logo, screen, 0, 0, 0, 0, 800, 600);
}
musica = load_sample("musica.wav");
if(!musica){
allegro_message("Il file \"musica.wav\" non e stato trovato");
return 0;
}
else{
play_sample(musica, 255,255,5000, FALSE);
}
set_palette(image);
textout_ex(screen, font, "BENVENUTI IN...", 200, 230,
makecol(0, 0, 255), -1);
textout_ex(screen, font, "Premi ESC durante il gioco per uscire ", 275, 470,
makecol(0, 0, 255), -1);
for(ritardo=0;ritardo<200;ritardo++){
vsync();
}
while(!key[KEY_ESC]){
inizio();
}
destroy_bitmap(logo);
stop_sample(musica);
allegro_message(" Created by ianaz\t");
return 0;
}
END_OF_MAIN ();