Conectar-se
Quem está conectado
33 usuários online :: 4 usuários cadastrados, Nenhum Invisível e 29 Visitantes

gart30, Koelho, Tedi Ripper, Willy

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Ranking : Sem avaliações
Data de inscrição : 26/08/2009
Número de Mensagens : 969
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 1
   :
   :
Ver perfil do usuário

draw rectangle + angulo

em Ter 04 Jan 2011, 15:15
como que faz uma draw_rectangle com ângulo?

ja fiz isso:

lx2=lengthdir_x(40,ang)
ly2=lengthdir_y(40,ang)

draw_roundrect(x,y,x+lx2,y+ly2,false)

de cara vi que não ia dar certo.

ja tentei mudar o angulo do objeto e tbm não deu.
avatar
Ranking : Sem avaliações
Data de inscrição : 11/10/2009
Número de Mensagens : 2184
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: draw rectangle + angulo

em Ter 04 Jan 2011, 16:28
Bom, seria algo como draw_roundrect_ext, mas não existe a função. A não ser que você a crie, tomando a background_ext ou a sprite_ext como base.

Que coincidência, achei num site chamado GMLScripts um script draw_roundrect_ext
Código:
/*
**  Usage:
**      draw_roundrect_ext(x1,y1,x2,y2,outline,radius,precision)
**
**  Arguments:
**      x1,y1,x2,y2    coordinates of the corners of the rectangle
**      outline        set to TRUE for outline, FALSE for solid
**      radius          radius of the rounded corners
**      precision      quality of the rounded corners, positive integer
**
**  Returns:
**      nothing
**
**  GMLscripts.com
*/
{
    var x1,y1,x2,y2,out,rad,pre,i,j,x1r,x2r,y1r,y2r;
    x1  = argument0;
    y1  = argument1;
    x2  = argument2;
    y2  = argument3;
    out = argument4;
    rad = min(argument5,abs(x1-x2)/2,abs(y1-y2)/2);
    pre = max(1,argument6);

    i  = 0;
    j  = 90 / pre;
    x1r = x1 + rad;
    x2r = x2 - rad;
    y1r = y1 + rad;
    y2r = y2 - rad;

    if (out) {
        draw_primitive_begin(pr_linestrip);
    }else{
        draw_primitive_begin(pr_trianglefan);
        draw_vertex(mean(x1,x2),mean(y1,y2));
    }
    draw_vertex(x2,y2r);
    draw_vertex(x2,y1r);
    repeat (pre) {
        i += j;
        draw_vertex(x2r+lengthdir_x(rad,i),y1r+lengthdir_y(rad,i));
    }
    draw_vertex(x1r,y1);
    repeat (pre) {
        i += j;
        draw_vertex(x1r+lengthdir_x(rad,i),y1r+lengthdir_y(rad,i));
    }
    draw_vertex(x1,y2r);
    repeat (pre) {
        i += j;
        draw_vertex(x1r+lengthdir_x(rad,i),y2r+lengthdir_y(rad,i));
    }
    draw_vertex(x2r,y2);
    repeat (pre) {
        i += j;
        draw_vertex(x2r+lengthdir_x(rad,i),y2r+lengthdir_y(rad,i));
    }
    draw_vertex(x2,y2r);
    draw_primitive_end();
}
Talvez ele possa ser útil em alguns outros casos, então tá aí o link:
http://www.gmlscripts.com
Ver o tópico anteriorVoltar ao TopoVer o tópico seguinte
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum