You are not logged in.
Pages: 1
// 9slice_scaling(sprite ,x1 ,y1 ,x2 ,y2)
// this script creates a rectangle by using the 9 slice scaling method on a sprite
/// @arg0 sprite
/// @arg1 x1
/// @arg2 y1
/// @arg3 x2
/// @arg4 y2
var size = sprite_get_width(argument0) / 3;
var x1 = argument1;
var y1 = argument2;
var x2 = argument3;
var y2 = argument4;
var w = x2 - x1;
var h = y2 - y1;
var columns = w div size;
var rows = h div size;
//corners
//top left
draw_sprite_part(argument0, 0, 0, 0, size, size, x1, y1);
//top right
draw_sprite_part(argument0, 0, size*2, 0, size, size, x1+ w-size, y1);
//bottom left
draw_sprite_part(argument0, 0, 0, size*2, size, size, x1, y1+h-size);
//bottom right
draw_sprite_part(argument0, 0, size*2, size*2, size, size, x1+w-size, y1+h-size);
//edges
//left edge
draw_sprite_part_ext(argument0, 0, 0, size, size, 1, x1, y1+size, 1, h-(size*2), c_white, 1);
//right edge
draw_sprite_part_ext(argument0, 0, size*2, size, size, 1, x1+w-size, y1+size, 1, h-(size*2), c_white, 1);
//top edge
draw_sprite_part_ext(argument0, 0, size, 0, 1, size, x1+size, y1, w-(size*2), 1, c_white, 1);
//bottom edge
draw_sprite_part_ext(argument0, 0, size, size*2, 1,size, x1+size, y1+h-size, w-(size*2), 1, c_white, 1);
//middle
draw_sprite_part_ext(argument0, 0, size, size, 1, 1, x1+size, y1+size, w-(size*2), h-(size*2), c_white, 1);
Pages: 1