draw_sprite_custom

draw sprite with primitives (gms 2.3)

Arguments

    none.

Returns : void

Source code

  1. function draw_sprite_custom(sprite, subimg, x, y, xscale, yscale, rot, col, alpha)
  2. {
  3. 	var mat = matrix_get(matrix_world);
  4. 	matrix_set(matrix_world, matrix_build(x, y, 0, 0, 0, rot, xscale, yscale, 1));
  5.  
  6. 	var uvs = sprite_get_uvs(sprite, subimg);
  7. 	var xoff = sprite_get_xoffset(sprite);
  8. 	var yoff = sprite_get_yoffset(sprite); 
  9. 	var w = sprite_get_width(sprite);
  10. 	var h = sprite_get_height(sprite);
  11.  
  12. 	var px1 = - xoff + uvs[4];
  13. 	var py1 = - yoff + uvs[5];
  14. 	var px2 = px1 + w * uvs[6];
  15. 	var py2 = py1 + h * uvs[7];
  16.  
  17. 	var tex = sprite_get_texture(sprite, subimg);
  18. 	draw_primitive_begin_texture(pr_trianglelist, tex);
  19. 	draw_vertex_texture_color(px1, py1, 0, 0, col, alpha);
  20. 	draw_vertex_texture_color(px2, py1, 1, 0, col, alpha);
  21. 	draw_vertex_texture_color(px2, py2, 1, 1, col, alpha);
  22. 	draw_vertex_texture_color(px2, py2, 1, 1, col, alpha);
  23. 	draw_vertex_texture_color(px1, py2, 0, 1, col, alpha);
  24. 	draw_vertex_texture_color(px1, py1, 0, 0, col, alpha);
  25. 	draw_primitive_end(); 
  26. 	matrix_set(matrix_world, mat);
  27. }