siemka piszę sobie stoper w allegro na informatykę niby wszystko spoko ale nie mogę dodać przycisku tzn nie wyświetla się bitmapa z przyciskiem.
#include <allegro.h>
#include <time.h>
void init();
void deinit();
int tak;
int main() {
init();
void funkcja();
BITMAP *bufor=create_bitmap(640,480);
BITMAP *tlo=load_bmp("tlo.bmp",default_palette);
BITMAP *g1=load_bmp("1.bmp",default_palette);
BITMAP *g2=load_bmp("1.bmp",default_palette);
BITMAP *m1=load_bmp("1.bmp",default_palette);
BITMAP *m2=load_bmp("1.bmp",default_palette);
BITMAP *s1=load_bmp("m1.bmp",default_palette);
BITMAP *s2=load_bmp("m1.bmp",default_palette);
BITMAP *start=load_bmp("start.bmp",default_palette);
BITMAP *stop=load_bmp("stop.bmp",default_palette);
BITMAP *reset=load_bmp("reset.bmp",default_palette);
//-------------------------------------------------------------------
int czas;int s=0,m=0,g=0;
int ss=(s1->w)/10;
int sm=(m1->w)/10;
rect(tlo, 450, 500, 500, 500, 0xFF0000);
blit(tlo,bufor,0,0,0,0,640,480);
while (!key[KEY_S]) {
/* put your code here */
blit(bufor,screen,0,0,0,0,640,480);
//-------------------------------------------------------------------------------------------
int start;
if(mouse_x==p1)
start=1;
if(start==1){
if(clock()-czas>1000)
{
s++;
czas=clock();
}
if(s==60)
{m++;s=0;
}
if(m==60)
{g++;m=0;}
int o=m/10;
int h=g/10;
int t=s/10;
blit(tlo,bufor,0,0,0,0,640,480);
masked_blit(g1,bufor,sm*h,0,30,125,g1->w/10,g1->h);
masked_blit(g2,bufor,sm*(g%10),0,135,125,g2->w/10,g2->h);
masked_blit(m1,bufor,sm*o,0,265,125,m1->w/10,m1->h);
masked_blit(m2,bufor,sm*(m%10),0,370,125,m2->w/10,m2->h);
masked_blit(s1,bufor,ss*t,0,500,184,s1->w/10,s1->h);
masked_blit(s2,bufor,ss*(s%10),0,500+ss,184,s2->w/10,s2->h);
if(key[KEY_DOWN])
start=0;
}
if(key[KEY_R])
{
s=0;m=0;g=0;
masked_blit(g1,bufor,0,0,30,125,(g1->w/10),g1->h);
masked_blit(g2,bufor,0,0,135,125,(g2->w/10),g2->h);
masked_blit(m1,bufor,0,0,265,125,(m1->w/10),m1->h);
masked_blit(m2,bufor,0,0,370,125,(m2->w/10),m2->h);
masked_blit(s1,bufor,0,0,500,184,(s1->w/10),s1->h);
masked_blit(s2,bufor,0,0,500+ss,184,(s2->w/10),s2->h);
}}
deinit();
return 0;
}
END_OF_MAIN()
void funkcja()
{
}
void init() {
int depth, res;
allegro_init();
depth = desktop_color_depth();
if (depth == 0) depth = 32;
set_color_depth(depth);
res = set_gfx_mode(GFX_AUTODETECT_WINDOWED, 640, 480, 0, 0);
if (res != 0) {
allegro_message(allegro_error);
exit(-1);
}
install_timer();
install_keyboard();
install_mouse();
show_mouse( screen );
/* add other initializations here */
}
void deinit() {
clear_keybuf();
/* add other deinitializations here */
}
próbowałem też narysować po prostu kwadrat ale też nie działa. Podejrzewam że w złym miejscu wklejam mógłby ktoś powiedzieć w którym powinienem(ucieszyłbym się z uzasadnienia)