Jeg har lavet dette program.
main.cpp
#include <allegro.h>
#include "spriteLib.h"
void init();
void deinit();
int main() {
init();
SpriteLib spriteLib;
while (!key[KEY_ESC]) {
blit(spriteLib.getSprite("lol.bmp"), screen, 0,0,0,0,100,100);
}
deinit();
return 0;
}
END_OF_MAIN()
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();
/* add other initializations here */
}
void deinit() {
clear_keybuf();
allegro_exit();
}
spriteLib.h
//spriteLib.h
#ifndef SPRITE_LIB_H
#define SPRITE_LIB_H
#include <allegro.h>
#include <map>
#include <string>
using namespace std;
class SpriteLib
{
private:
map<const char*,BITMAP*> sprites;
public:
BITMAP* getSprite(const char*);
};
#endif
spriteLib.cpp
//spriteLib.cpp
#include "spriteLib.h"
BITMAP * SpriteLib::getSprite(const char* path)
{
if(sprites[path] == NULL)
{
sprites[path] == load_bitmap(path, NULL);
}
return sprites[path];
}
når jeg kører programmet lukker det ned lige med det samme "programmet er holdt op med at fungere, windows søger efter en løsning"