Avatar do usuário
Tutoriais & Aulas
Colaborador
Colaborador
Autor
Mensagens: 174
Registrado em: Qui Abr 28, 2016 11:37 am
Karma: 910

[GRAF] [Tutorial] Criando primitives

Qui Abr 28, 2016 8:49 pm

Autor original: Sephirot


E ai galera este é meu primeiro tuto e eu vou ensinar a fazer primitivas e simular um efeito de corda.

Nivel : avançado(conhecimento basico em GML).
Só ira funcionar na versão pro do GM.
O que são primitivas??

As primitivas permitem que você fassa desenhos do jeito que você quiser sem uzar sprites, backgrounds somente em codigos,é bem facil e simples de se fazer.A vantagem de você utilizar o codigo primitive é que você pode mudar a posição das vertex para onde você quiser
você pode usar por exemplo para fazer uma corda ,uma cama elastica ,aquele famoso jogo da cobrinha e muitas outras coisas.Vamos parar de conversa e vamos começar logo.

Crie um objeto e nomei de obj_draw(isto naum vai fazer muita diferença portanto pode colocar do jeito que vc quiser)
No obj_draw adicione um evento draw,adicione um execute piece of code e coloque o seguinte codigo:

draw_primitive_begin(pr_linestrip)
draw_vertex_color(100,32,c_blue,50)
draw_vertex_color(200,40,c_blue,50)
draw_vertex_color(300,32,c_blue,50)
draw_primitive_end()


traduzindo : draw_primitive_begin(pr_linestrip)este codigo serve para começar a sua primitiva sem ele naum é possivel fazer uma primitiva.
(pr_linestrip) este é o tipo de primitiva escolhida exitem mais seis tipos:
pr_pointlist para se criar pontos
pr_linelist cria um conjunto de linhas de,um vertice ao outro é uma linha
pr_linestrip cria poligonos, com este codigo você tambem pode fazer linhas com mais vertice
pr_trianglelist a cade tres vertice é formado um triangulo
pr_trianglestrip semelhante ao de cima mais diminui um vextes em cada triangulo
pr_trianglefan  neste o primeiro vértice é parte de todos os triângulos.

draw_vertex_color(100,32,c_blue,50)com este codigo você adiciona um novo vertice aqui é especificado o x como 100,y como 32 ,cor com azul e alfa 50.
draw_primitive_end()este codigo finaliza a sua primitiva se você quiser aumentar a quantidade de vertex adicione um novo draw_vertex_color() não se esqueça de especificar o x,y,cor e o alfa.

Criando uma corda
Para se fazer uma corda bom presisamos escolher uma vertice e especificar a posição do player e de acordo que o player se mecha a corda siga ele.

Vamos lá vamos fazer uma coisa simples só para você ter noção de como fazer o resto,primeiramente crie um objeto coloque um evento keyboard right e adicione um move fixed marque a seta para a direita e coloque velocidade 1, adicione um evento keyboard no key adicione um move fixed e coloque velocidade 0 depois coloque ele na sua room e marque bem o lugar onde ele foi colocado(la em baixo onde ta escrito x e y). Agora vá no obj_draw coloque um evento create e adicione este codigo:
x = 224
y = 176

o x e o y são os numeros que eu falei para você marcar da sua room.
Agora vá no evento draw e coloque este codigo :
draw_primitive_begin(pr_linestrip);
draw_vertex_color(100,32,c_blue,50)
draw_vertex_color(x,y,c_blue,50)
draw_vertex_color(300,32,c_blue,50)
draw_primitive_end()
if (keyboard_check(vk_right))
{x+=1}

Está bem facil de entender mas mesmo asim eu vou explicar x e y são as variaveis que marcam a posição do obj,if (keyboard_check(vk_right)) quando precionamos o right(seta para a direita) adicionamos +1 ao x.
Chegamos ao fim de um tuto agora o resto é com vocês até aproxima. ^^

Tags: