draw_sprite_shear_ext
Draws a given sprite with standard transformations and shearing applied.
Adjust sliders to change shearing amount.Download
- draw_sprite_shear_ext(sprite, subimg, x, y, xshear, yshear, xscale, yscale, rot, color, alpha)
- Draws a given sprite with standard transformations and shearing applied.
COPY/// @func draw_sprite_shear_ext(sprite, subimg, x, y, xshear, yshear, xscale, yscale, rot, color, alpha)
///
/// @desc Draws a given sprite with standard transformations and shearing applied.
///
/// @param {sprite} sprite sprite index
/// @param {real} subimg image index
/// @param {real} x x screen position
/// @param {real} y y screen position
/// @param {real} xshear shear rate of x axis
/// @param {real} yshear shear rate of y axis
/// @param {real} xscale x scaling
/// @param {real} yscale y scaling
/// @param {real} rot rotation angle
/// @param {color} color color blending
/// @param {real} alpha alpha blending
///
/// @return {real} 0 (unused)
///
/// GMLscripts.com/license
function draw_sprite_shear_ext(sprite, subimg, x, y, xshear, yshear, xscale, yscale, rot, color, alpha)
{
var mShear = matrix_build_identity();
mShear[4] = xshear;
mShear[1] = yshear;
mShear[12] = x;
mShear[13] = y;
matrix_stack_push(mShear);
matrix_set(matrix_world, matrix_stack_top());
draw_sprite_ext(sprite, subimg, 0, 0, xscale, yscale, rot, color, alpha);
matrix_stack_pop();
matrix_set(matrix_world, matrix_stack_top());
return 0;
}
Contributors: xot
GitHub: View · Commits · Blame · Raw