Guest User

Untitled

a guest
Oct 23rd, 2017
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.89 KB | None | 0 0
  1. #include <allegro5/allegro5.h>
  2. #include <allegro5/allegro_image.h>
  3. #include <iostream>
  4.  
  5. #undef main
  6. #define PI 3.14
  7.  
  8. void main()
  9. {
  10. al_init();
  11. al_install_keyboard();
  12. al_init_image_addon();
  13.  
  14. ALLEGRO_DISPLAY* display;
  15. display = al_create_display( 640, 480 );
  16.  
  17. if ( !display )
  18. {
  19. std::cout << "Nie udalo sie utworzyc okna!" << std::endl;
  20. getchar();
  21. return;
  22. }
  23.  
  24. ALLEGRO_BITMAP *logo = al_load_bitmap( "logo.bmp" );
  25. if ( !logo )
  26. {
  27. std::cout << "Nie udalo sie wczytac obrazka 'logo.bmp'" << std::endl;
  28. getchar();
  29. return;
  30. }
  31. int logoSzer = al_get_bitmap_width( logo );
  32. int logoWys = al_get_bitmap_height( logo );
  33.  
  34. ALLEGRO_BITMAP *ludzik = al_load_bitmap( "ludzik.bmp" );
  35. if ( !ludzik )
  36. {
  37. std::cout << "Nie udalo sie wczytac obrazka 'ludzik.bmp'" << std::endl;
  38. getchar();
  39. return;
  40. }
  41. al_convert_mask_to_alpha( ludzik, al_map_rgb( 255, 0, 255 ) );
  42.  
  43. al_set_window_title( display, "Bitmapy" );
  44.  
  45. ALLEGRO_KEYBOARD_STATE key_state;
  46. al_get_keyboard_state( &key_state );
  47.  
  48. while( !al_key_down( &key_state, ALLEGRO_KEY_ESCAPE ) )
  49. {
  50. al_get_keyboard_state( &key_state );
  51. al_clear_to_color( al_map_rgb( 0, 128, 0 ) );
  52.  
  53. if ( al_key_down( &key_state, ALLEGRO_KEY_SPACE ) )
  54. al_set_blender( ALLEGRO_ADD, ALLEGRO_ALPHA, ALLEGRO_INVERSE_ALPHA );
  55. else
  56. al_set_blender( ALLEGRO_ADD, ALLEGRO_ONE, ALLEGRO_INVERSE_ALPHA );
  57.  
  58. al_draw_bitmap( ludzik, 10, 50, NULL );
  59. al_draw_bitmap( logo, 160, 50, NULL );
  60. al_draw_bitmap_region( logo, 0, 0, 100, 90, 150, 160, NULL );
  61. al_draw_scaled_bitmap( logo, 0, 0, logoSzer, logoWys, 260, 160, 80, 80, NULL );
  62. al_draw_rotated_bitmap( logo, logoSzer/2, logoWys/2, 540, 160, PI*90/180, NULL );
  63. al_draw_bitmap( logo, 120, 280, NULL );
  64. al_draw_bitmap( logo, 140, 300, NULL );
  65. al_draw_bitmap( logo, 170, 320, NULL );
  66.  
  67. al_flip_display();
  68. }
  69.  
  70. al_destroy_bitmap( logo );
  71. al_destroy_bitmap( ludzik );
  72. }
Add Comment
Please, Sign In to add comment