GMLscripts.com

Discuss and collaborate on GML scripts
Invert

You are not logged in.

#1 2016-04-03 01:45:38

AnastasiaDunbar
Member
Registered: 2015-12-22
Posts: 12

Quadrangle (with 5 options)

Expand///quadrangle(tl_x,tl_y,tr_x,tr_y,bl_x,bl_y,br_x,br_y,mode)
//Mode 0 = Lines
//Mode 1 = Filled
//Mode 2 = X
//Mode 3 = Triangles
//Mode 4 = Triangles (Reversed)
var tl_x=argument0,tl_y=argument1,tr_x=argument2,tr_y=argument3,bl_x=argument4,bl_y=argument5,br_x=argument6,br_y=argument7,m=argument8;
if(is_string(m)){string_lower(m);switch(m){
case"line":m=0;break;
case"x":m=2;break;
case"fill":m=1;break;
}}
if(m=0){
//1---2
//|   |
//4---3
draw_line(tl_x,tl_y,tr_x,tr_y) //1 to 2
draw_line(tr_x,tr_y,br_x,br_y) //2 to 3
draw_line(br_x,br_y,bl_x,bl_y) //3 to 4
draw_line(bl_x,bl_y,tl_x,tl_y) //4 to 1
}else if(m=1){
draw_triangle(tl_x,tl_y,bl_x,bl_y,br_x,br_y,false)
draw_triangle(tl_x,tl_y,tr_x,tr_y,br_x,br_y,false)
}else if(m=2){
//1-2
//|X|
//4-3
draw_line(tl_x,tl_y,tr_x,tr_y) //1 to 2
draw_line(tr_x,tr_y,br_x,br_y) //2 to 3
draw_line(br_x,br_y,bl_x,bl_y) //3 to 4
draw_line(bl_x,bl_y,tl_x,tl_y) //4 to 1
draw_line(tl_x,tl_y,br_x,br_y) //1 to 3
draw_line(tr_x,tr_y,bl_x,bl_y) //2 to 4
}else if(m=3){
//1-2
// \|
//  3
draw_triangle(tl_x,tl_y,tr_x,tr_y,br_x,br_y,true)
//1 
//|\
//2-3
draw_triangle(tl_x,tl_y,bl_x,bl_y,br_x,br_y,true)
}else if(m=4){
//1-2
//|/
//3
draw_triangle(tl_x,tl_y,tr_x,tr_y,bl_x,bl_y,true)
//  1
// /|
//3-2
draw_triangle(tr_x,tr_y,br_x,br_y,bl_x,bl_y,true)
}

Offline

Board footer

Powered by FluxBB