R
Einmal die Funktionen:
void cls(BITMAP *active)
{
clear_to_color(active, makecol32(0, 0, 0));
}
void flip(BITMAP *active_page, BITMAP *page1, BITMAP *page2, BITMAP *buffer, int flip)
{
buffer = active_page;
if (flip == 1 )
{
vsync();
}
blit(buffer,screen,0,0,0,0,SCREEN_W,SCREEN_H);
if (active_page == page1)
{
active_page = page2;
}
else
{
active_page = page1;
}
}
Und die Main.cpp:
#include <allegro.h>
#include "cInitAllegro.cpp"
#include "cGraphics.cpp"
cGraphics Graphics;
cInitAllegro init_Allegro;
int main(void)
{
init_Allegro.init(1024, 768, 32, 0);
BITMAP *buffer = create_video_bitmap(SCREEN_W,SCREEN_H);
BITMAP *Ball = Graphics.loadimage("Ball.bmp");
BITMAP *page1 = create_video_bitmap(SCREEN_W, SCREEN_H);
BITMAP *page2 = create_video_bitmap(SCREEN_W, SCREEN_H);
BITMAP *page3 = create_video_bitmap(SCREEN_W, SCREEN_H);
BITMAP *active_page;
active_page = page1;
int x = 0;
int y = 0;
while(!key[KEY_ESC])
{
if(key[KEY_LEFT])
{
x = x-5;
}
if(key[KEY_RIGHT])
{
x = x+5;
}
if(key[KEY_UP])
{
y = y-5;
}
if(key[KEY_DOWN])
{
y = y+5;
}
Graphics.cls(active_page);
Graphics.drawimage(active_page,Ball,x,y,10,10);
Graphics.flip(active_page, page1, page2, buffer,0);
}
destroy_bitmap(buffer);
destroy_bitmap(Ball);
destroy_bitmap(page1);
destroy_bitmap(page2);
}
END_OF_MAIN();
Hoffe das es anderen hilft