NAME¶
draw_sprite - Draws a copy of the sprite onto the destination bitmap. Allegro
game programming library.
SYNOPSIS¶
#include <allegro.h>
void draw_sprite(BITMAP *bmp, BITMAP *sprite, int x, int y);
DESCRIPTION¶
Draws a copy of the sprite bitmap onto the destination bitmap at the specified
position. This is almost the same as blit(sprite, bmp, 0, 0, x, y,
sprite->w, sprite->h), but it uses a masked drawing mode where
transparent pixels are skipped, so the background image will show through the
masked parts of the sprite. Transparent pixels are marked by a zero in
256-color modes or bright pink for truecolor data (maximum red and blue, zero
green). Example:
BITMAP *spaceship;
...
draw_sprite(screen, spaceship, x, y);
If the GFX_HW_VRAM_BLIT_MASKED bit in the gfx_capabilities flag is set, the
current driver supports hardware accelerated sprite drawing when the source
image is a video memory bitmap or a sub-bitmap of the screen. This is
extremely fast, so when this flag is set it may be worth storing some of your
more frequently used sprites in an offscreen portion of the video memory.
Warning: if the hardware acceleration flag is not set, draw_sprite() will not
work correctly when used with a sprite image in system or video memory so the
latter must be a memory bitmap.
Although generally not supporting graphics of mixed color depths, as a special
case this function can be used to draw 256-color source images onto truecolor
destination bitmaps, so you can use palette effects on specific sprites within
a truecolor program.
SEE ALSO¶
draw_sprite_v_flip(3alleg4),
draw_trans_sprite(3alleg4),
draw_lit_sprite(3alleg4),
draw_gouraud_sprite(3alleg4),
stretch_sprite(3alleg4),
rotate_sprite(3alleg4),
draw_character_ex(3alleg4),
draw_rle_sprite(3alleg4),
draw_compiled_sprite(3alleg4),
masked_blit(3alleg4),
blit(3alleg4),
bitmap_mask_color(3alleg4),
exsprite(3alleg4)