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:
Outro exemplo. Um triângulo com três cores diferentes em degradê. Usaremos o kind pr_trianglelist.
Código:
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();