Allegro: ein item anklicken - so gehts ;)
-
Hi
ich weis nicht was ihr von meinen post haltet, aber ich hab wieder
was für anfänger geschrieben:heute: objeckte anklicken
da das ganze nen bissel durcheinander ist hab ich mal gedacht ich schick euch ein kleines sample...
http://www.file-upload.net/download-3489535/allegro-demo.rar.html
das ist der schnippsel dazu:BITMAP *buffer; // buffer BITMAP *Player; // mouse BITMAP *key_1; // item ... int key_collision(BITMAP* key_1,int key_x, int key_y, BITMAP* Player, int x,int y) { if(key_x>=(x+Player->w) || key_y>=(y+Player->h) || x>=(key_x+key_1->w) || y>=(key_y+key_1->h)) return 0; else return -1; } // collisionserkennung /// int main() { int key_x = 400; int key_y = 400; allegro_init(); set_color_depth(32); set_gfx_mode(GFX_AUTODETECT_WINDOWED, 800, 600, 0, 0); set_window_title("sample"); install_keyboard(); install_mouse(); buffer = create_bitmap(SCREEN_W, SCREEN_H); Player = load_bitmap("cursor.bmp",NULL); key_1 = load_bitmap("key.bmp", NULL); while(!key[KEY_ESC]) { clear(buffer); draw_sprite(buffer,key_1,key_x,key_y); draw_sprite(buffer,Player,mouse_x,mouse_y); blit(buffer, screen, 0, 0, 0, 0, SCREEN_W, SCREEN_H); ////////////////////////////////////////////////////////////////// if(key_collision(key_1,key_x,key_y,Player,mouse_x,mouse_y)) // wenn maus über x,y ist ... { if(mouse_b&1) // ... und geklickt wird dann: { textprintf_ex(screen,font,350,280,makecol(255,0,0),-1,"Key found !"); key_x = 0; key_y = 0; } } //////////////////////////////////////////////////////////////////// } } //es lebe google und eigende logik
ich hoffe ich konnte wieder mal weiter helfen
@spieleman
- guckmal solche grafik kann man mit blender machen XD
*lol*
-
upps... hab ich vergessen:
ganz oben muss noch
#include<allegro.h>
und gannz zum schluss muss noch
END_OF_MAIN();
stehen:
-
Süß
-
auch hier ein fettes danke