Desenhando formas com degradê e transparência

    Compartilhe
    avatar
    rodrigo1434
    Admin
    Admin

    Masculino
    Idade : 23
    Número de Mensagens : 782
    Advertencias : 0%

    Reputação Reputação : 14

    Desenhando formas com degradê e transparência

    Mensagem por rodrigo1434 em Seg 15 Set - 20:30

    Tutorial escrito por Brendan


    Para fazer o efeito de desenho com degradê, vá no seu evento "Draw", defina primeiro em qual categoria a forma do desenho se encaixa na lista de kinds (lista de tipos de vetores). Lembre-se de que esta função só é possível na versão registrada do Game Maker.

    "pr_pointlist"
    O desenho será uma lista de pontos sem arestas, ou seja, só os vértices (aqueles pontos das beiradas).

    "pr_linelist"
    O desenho será jogo de segmentos de linhas. Cada par de vértices formará uma linha. Este tipo de vetor não unirá todos os vértices por linhas, portanto entre o primeiro vértice e o segundo haverá uma linha, mas, entre o segundo e o terceiro não, e assim por diante.

    "pr_linestrip"
    Este é o tradicional desenho do tipo outline (somente traçado). O primeiro vértice será ligado ao segundo, o segundo ao terceiro, o terceiro ao quarto e assim por diante. Você só deverá ligar o último ao primeiro, se desejar.

    "pr_trianglelist"
    Este é um conjunto de triângulos distintos. Assim o número de vértices deverá ser um múltiplo de três, pois a cada três vértices haverá um triângulo.

    "pr_trianglestrip"
    Este é um conjunto de triângulos conectados uns aos outros por um vértice em comum. Os três primeiros vértices formarão o primeiro triângulo. Os dois últimos vértices deste triângulo será conectado ao próximo vértice da lista e assim por diante.

    "pr_trianglefan"
    Esse se parece um pouco com o anterior. A diferença é que o vértice em comum será o primeiro da lista. Portanto, todos os triângulos criados serão unidos por ele.

    Daí o que precisamos fazer é criar uma forma primitiva, porém com nossas próprias características. Ela é uma lista de pontos que vamos definir de acordo com os kinds(tipos) listados acima.

    Essa lista começa com draw_primitive_begin(kind) e termina com draw_primitive_end(). Entre essas duas chaves nós vamos adicionar os vértices com draw_vertex(x,y) ou draw_vertex_color(x,y,cor,transparência).
    Com esse modo de desenho, nós podemos criar uma forma com muitas cores diferentes em degradê e transparência! Existe um em que se aplica até texturas: é o draw_primitive_begin_texture(tipo,textura).

    Um exemplo. Para desenhar um retângulo com um degradê transparente. O kind pr_trianglestrip é o que vamos usar para o retângulo.

    Código:
    Código:
    draw_primitive_begin(pr_trianglestrip);
    draw_vertex_color(20,20,c_black,1);
    draw_vertex_color(200,20,c_black,0);
    draw_vertex_color(20,180,c_black,1);
    draw_vertex_color(200,180,c_black,0);
    draw_primitive_end();


    Outro exemplo. Um triângulo com três cores diferentes em degradê. Usaremos o kind pr_trianglelist.

    Código:
    Código:
    draw_primitive_begin(pr_trianglelist);
    draw_vertex_color(20,20,c_blue,1);
    draw_vertex_color(200,20,c_black,0.5);
    draw_vertex_color(20,180,c_yellow,1);
    draw_primitive_end();
    avatar
    ArandyIlhay
    Ocasional
    Ocasional

    Masculino
    Idade : 16
    Número de Mensagens : 325
    Advertencias : 0%

    Habilidade :
    Reputação Reputação : 1

    Re: Desenhando formas com degradê e transparência

    Mensagem por ArandyIlhay em Dom 25 Abr - 21:32

    gostei rodrigo nota 10

      Data/hora atual: Sex 20 Out - 15:34