Draw de função GML

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Draw de função GML

Mensagem por AlexBosquin em Sab 04 Jan 2014, 18:34

Galera como posso desenhar a caixa que representa o place_meeting

por exemplo estou criando uma especie de checagem de colisão com o seguinte codigo

Código:

if place_meeting(128,128,obj_caixa)
{
    instance_destroy()
}

como eu desenho a caixa representada por esse palce_meeting ai?

AlexBosquin

Ranking : Nota C
Número de Mensagens : 621
Idade : 20
Data de inscrição : 10/07/2012
Notas recebidas : C
Reputação : 35
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

http://www.craftstudios.com.br

Voltar ao Topo Ir em baixo

Re: Draw de função GML

Mensagem por Lukbebalduke em Sab 04 Jan 2014, 18:58

Não entendi direito ... é só pra desenhar uma caixa na posição que ele deveria estar pro evento ocorrer ?

Lukbebalduke

Ranking : Nota B
Número de Mensagens : 764
Data de inscrição : 06/07/2011
Notas recebidas : B - B - A - B
Reputação : 30
Insignia 1 x 1 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 2

Voltar ao Topo Ir em baixo

Re: Draw de função GML

Mensagem por AlexBosquin em Sab 04 Jan 2014, 19:28

sim é a caixa que o place_meeting faz para checar a colisão!

AlexBosquin

Ranking : Nota C
Número de Mensagens : 621
Idade : 20
Data de inscrição : 10/07/2012
Notas recebidas : C
Reputação : 35
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

http://www.craftstudios.com.br

Voltar ao Topo Ir em baixo

Re: Draw de função GML

Mensagem por Alex FC em Sab 04 Jan 2014, 20:01

Aqui explico isso com algumas imagens:

http://gmbr.forumeiros.com/t3729-colisoes-parte-4-colisoes-simples#29144

Basicamente essa função recria a caixa de colisão usando a sprite do objeto. Você apenas tem que das as posições (x,y) e o objeto para qual quer checar (obj).

Por isso usamos x+3, ou y+1, ou x-2, ou seja, sempre colocamos essa nova caixa em relação ao objeto. Logo se colocar como no exemplo que mostrou (128,128), isso será em relação à room.

No caso pra desenhar, vai depender se a sua sprite é precisa ou não. Caso for, ela só vai considerar pixels opacos.

Caso não, a caixa será uma caixa (duh!!) do tamanho da sprite.

E pra desenhar mesmo, tu pode usar o draw_rectangle, mas tem que se lembrar de levar em conta a ORIGIN do objeto. Logo um código apropriado seria:

Código:
//Desenha sprite
draw_sprite(sprite_index,image_index,x,y)

//Desenha retangulo sobre a sprite
draw_rectangle(
    x + (sprite_xoffset - sprite_xoffset),
    y + (sprite_yoffset - sprite_yoffset),
    x + (sprite_xoffset + (sprite_width - sprite_xoffset)),
    y + (sprite_yoffset + (sprite_height - sprite_yoffset)),
    1);

Pra desenhar nas posições do place_meeting, basta trocar os dois X e os dois Y (E sim, repetidamente, duas vezes) do draw_rectangle pelos valores que colocou para checar.

*sprite_xoffset e sprite_yoffset são as posições da ORIGIN da sprite do objeto.

*Esse código não leva em conta rotações, sei fazer, mas prefiro que tu estude sobre vetores.

Espero que ajude.

FLWS!

Alex FC

Ranking : Nota A
Número de Mensagens : 2503
Idade : 23
Data de inscrição : 20/12/2008
Notas recebidas : B A
Reputação : 174
Insignia 1 x 1 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 1
   : 1

http://redscreensoft.blogspot.com

Voltar ao Topo Ir em baixo

Re: Draw de função GML

Mensagem por glasdou em Sab 04 Jan 2014, 23:39

se estou certo o place_meeting não desenha nada ele só checa se no PONTO
128x128 (indicados no código) ha um obj_caixa(também especificado no código)

glasdou

Número de Mensagens : 95
Idade : 17
Data de inscrição : 21/11/2013
Reputação : 3
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Draw de função GML

Mensagem por Gonçalves em Dom 05 Jan 2014, 00:01

Dá pra usar assim:

Código:
draw_rectangle(bbox_left,bbox_top,bbox_right,bbox_bottom,1)

Gonçalves

Ranking : Nota B
Número de Mensagens : 1013
Data de inscrição : 29/10/2010
Notas recebidas : B + A + C
Reputação : 79
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Draw de função GML

Mensagem por AlexBosquin em Dom 05 Jan 2014, 08:48

opa obrigado a todos ai pelas respostas,
AlexFC eu olhei sim seu tutorial e consegui criar as caixas aqui, vlw mesmo agora vou dar uma olhada no codigo que você me passou, e que como eu estou trabalhando com o physics do game maker eu mecho com fixtures e não com collisions normais ok, então tenho que "converter estes codigos para aplicar ao meu game" acho que quase ninguem aki no fórum usa o physics!

AlexBosquin

Ranking : Nota C
Número de Mensagens : 621
Idade : 20
Data de inscrição : 10/07/2012
Notas recebidas : C
Reputação : 35
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

http://www.craftstudios.com.br

Voltar ao Topo Ir em baixo

Re: Draw de função GML

Mensagem por Conteúdo patrocinado Hoje à(s) 09:40


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum