C
Kann man das Allegro Programm von der Schnelligkeit her optimieren,ohne es gleich im Fullscreenmodus laufen lassen zu müssen?...
#include <allegro.h>
int set_graphic_mode() {
set_color_depth(16);
if (set_gfx_mode(GFX_AUTODETECT_WINDOWED, 640, 480, 0, 0) >= 0) {
return 1;
}
return 0;
}
int main(int argc, char **argv) {
allegro_init();
install_keyboard();
if (!set_graphic_mode()) {
allegro_message("Unable to set graphic mode!");
exit(0);
}
BITMAP *doublebuffer = create_bitmap(SCREEN_W, SCREEN_H);
BITMAP *logo = load_bitmap("allegro.tga", NULL);
int x = 0;
int y = 0;
int dx = 1;
int dy = 1;
while (!keypressed()) {
// Linker und rechter Rand
if (x + dx < 0) {
dx *= -1;
} else if (x + logo->w >= SCREEN_W) {
dx *= -1;
}
// Oberer und unterer Rand
if (y + dy < 0) {
dy *= -1;
} else if (y + logo->h >= SCREEN_H) {
dy *= -1;
}
x+= dx;
y+= dy;
acquire_bitmap(doublebuffer);
clear(doublebuffer);
blit( logo, doublebuffer, 0, 0, x, y, logo->w, logo->h);
release_bitmap(doublebuffer);
blit(doublebuffer, screen, 0, 0, 0, 0, doublebuffer->w, doublebuffer->h);
}
} END_OF_MAIN();