draw_background_general

Draws part of a background at a given position with scaling, rotating, four-corner blending and alpha options.

Syntax:

draw_background_general(back, left, top, width, height, x, y, xscale, yscale, rot, c1, c2, c3, c4, alpha);


Argument Description
back The index of the background to draw.
left The x position on the background of the top left corner of the area to draw.
top The y position on the background of the top left corner of the area to draw.
width The width of the area to draw.
height The height of the area to draw.
x The x coordinate of where to draw the background.
y The y coordinate of where to draw the background.
xscale The horizontal scaling of the background.
yscale The vertical scaling of the background.
rot The rotation of the background.
c1 The colour with which to blend the top left area of the background.
c2 The colour with which to blend the top right area of the background.
c3 The colour with which to blend the bottom right area of the background.
colour The colour with which to blend the bottom left area of the background.
alpha The alpha of the background (from 0 to 1 where 0 is transparent and 1 opaque).


Returns: N/A


Description

This function combines the function draw_background_ext with the function draw_background_part, adding in some additional blending options so that each corner of the final background part can be blended with an individual colour.

NOTE: Colour blending is only recommended for the HTML5 target when WebGL is enabled, although you can still set the blending colour if it is not enabled and it will blend the sprite as normal. However all blending in this way creates a duplicate sprite which is then stored in the cache and used when required. This is far from optimal and if you use multiple colour changes it will slow down your games performance unless you activate WebGL. If you do not wish to use WebGL, and still require blended images, then you should consider using sprites and setting the sprite cache to help limit performance issues - see sprite_set_cache_size.


Example:

draw_background_general(bck_Sky, 8, 8, 32, 32, x, y, 2, 0.5, 180, c_white, c_white, c_black, c_black, 1);

This will draw a 32x32 pixel area from 8x8 pixels into bck_Sky. It will be stretched to double its usual width but half its usual height. It will be opaque, and upside down. The top area of the background will be blended white and hence normal, but the bottom area will be black, meaning the background will go from normal to silhouette downwards in a smooth gradient.


Back: Drawing Sprites And Backgrounds
Next: draw_background
© Copyright YoYo Games Ltd. 2018 All Rights Reserved