[Resolvido]Problema com colisão usando Draw

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

Resolvido [Resolvido]Problema com colisão usando Draw

Mensagem por jogos_jv em Seg 03 Jan 2011, 22:27

Hoje, resolvi iniciar um novo projeto. Mas, agora surgiu um problema. Eu criei dois objetos, obj_bloco e o obj_bola. Os dois foram criados com Draw, usando os códigos draw_circle e draw_rectangle. Mas quando coloquei para a bola virar quando batesse no bloco, a bola não saiu do lugar. No

Depois, percebi, que o erro consistia em que o GM considera que a bola está sempre colidindo com o bloco. E eu não faço ideia do que fazer para consertar esse erro. anh!

Edit:
Para ajudar, vou mostrar os códigos draw do
obj_bola
Código:
draw_circle(x,y,10,false) //desenha a bola

e do obj_bloco.
Código:
draw_rectangle(x,y,x+32,y+32,false)

Espere que ajude. ;)


Última edição por jogos_jv em Ter 04 Jan 2011, 12:19, editado 1 vez(es)

jogos_jv

Número de Mensagens : 92
Data de inscrição : 10/02/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://jogosjosevitoria.blogspot.com/

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Problema com colisão usando Draw

Mensagem por Shadow10 em Seg 03 Jan 2011, 23:16

Eu fiz uma engine aqui pra você e jaja eu posto o link

////////////////////////////////////Editado/////////////////////////////////


>>>Aqui etsá a sua ajuda<<<


Tomara que te ajude cara!

Shadow10

Ranking : Nota C
Número de Mensagens : 429
Data de inscrição : 07/11/2010
Notas recebidas : C
Reputação : 19
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Problema com colisão usando Draw

Mensagem por Markituh em Seg 03 Jan 2011, 23:28

Para isso se usa mask. A mask, cuja tradução é máscara, tem a função propriamente dita. É uma máscara, para esconder a verdadeira "identidade" do objeto. Então você coloca uma máscara nas dimensões do desenho, numa cor opaca(preta é muito usada) e pronto, tá no papo. A mask é definida na propiedade mask, em baixo de parent(que fica em baixo de Persistent e Visible).

___________

"Não deixe para amanhã o que se pode fazer hoje"

Links úteis:
Índice de Tutoriais
Manual online do GMS

Markituh

Ranking : Sem avaliações
Número de Mensagens : 2183
Data de inscrição : 11/10/2009
Reputação : 106
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Problema com colisão usando Draw

Mensagem por Licht em Seg 03 Jan 2011, 23:39

Markituh escreveu:Para isso se usa mask. A mask, cuja tradução é máscara, tem a função propriamente dita. É uma máscara, para esconder a verdadeira "identidade" do objeto.

Cara, apesar do nome "máscara", acho que tem muito pouco a ver com o nome =P...

tipo, você usa a mask pra ser a parte que vai ser o "sensor" de colisão. por exemplo, num jogo de top view, seria muito surreal se o player parace quando a cabeça dele estivese abaixo da árvore, e não a parte de baixo do corpo. pra isso se usa mask...

você deve saber mas talvéz não soube explicar direito...

Licht

Ranking : Sem avaliações
Número de Mensagens : 1217
Idade : 18
Data de inscrição : 26/04/2010
Reputação : 34
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 1
   : 0

http://lightsoftworks.blogspot.com/

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Problema com colisão usando Draw

Mensagem por Markituh em Seg 03 Jan 2011, 23:59

Sim, de certa forma. É que escrevi de modo que se fosse "entendível", mas é da forma que você disse. Num objeto que tem apenas o Draw, é fundamental usar a mask. Como disse anteriormente, nas dimensões do desenho.

Por exemplo, se você tiver um quadrado de 16 por 16, sua mask vai ser de 16 por 16. Mas se você tiver uma bola, um círculo e um triângulo unidos, então será necessário calcular a extremidade da primeira forma, e a extremidade da outra forma. Assim:


O 67x58 é realmente ele, é que errei na categorização da altura.

___________

"Não deixe para amanhã o que se pode fazer hoje"

Links úteis:
Índice de Tutoriais
Manual online do GMS

Markituh

Ranking : Sem avaliações
Número de Mensagens : 2183
Data de inscrição : 11/10/2009
Reputação : 106
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Problema com colisão usando Draw

Mensagem por Godsil4 em Ter 04 Jan 2011, 07:32

olha gente foi mal pelo off
aki no topico q to com a msm
duvida, mas pra usa o mask
n tem q te um sprite desenhado?
pq acho q n pode usa sprite nem pra
isso no concurso...

Godsil4

Ranking : Nota B
Número de Mensagens : 474
Data de inscrição : 26/11/2010
Notas recebidas : B+A
Reputação : 23
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 1
   : 1

http://www.google.com.br

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Problema com colisão usando Draw

Mensagem por galaverna em Ter 04 Jan 2011, 11:36

Ola caro Godsil4 porfavor você ja disse uma coisa no meu tópico do hadouken n funfa porfavor vc disse que estava sem tempo aqula hora agora porfavor responda la obrigado

galaverna

Número de Mensagens : 237
Idade : 22
Data de inscrição : 13/11/2010
Reputação : -1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Problema com colisão usando Draw

Mensagem por Markituh em Ter 04 Jan 2011, 11:44

@Godsila
O Kabeção disse, acho que foi ele, que você tem que usar as funções collision.
Código:
collision_rectangle(x1,y1,x2,y2,obj,precisao,naoeu)
collision_circle(x,y,raio,obj,precisao,naoeu)
collision_ellipse(x1,y1,x2,y2,obj,precisao,naoeu)
collision_line(x1,y1,x2,y2,obj,precisao,naoeu)
collision_point((x,y,obj,precisao,naoeu)

Agora se for usar isso pro concurso, já há de descartar as masks e partir para os collision.

___________

"Não deixe para amanhã o que se pode fazer hoje"

Links úteis:
Índice de Tutoriais
Manual online do GMS

Markituh

Ranking : Sem avaliações
Número de Mensagens : 2183
Data de inscrição : 11/10/2009
Reputação : 106
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Problema com colisão usando Draw

Mensagem por PedroX em Ter 04 Jan 2011, 12:06

Não é preciso descartar as masks.
Há como cria-las sem ser pela pasta Sprites.
Me mandem uma MP que eu ensino a fazer isso.
Eu so nao posto isso aqui pq talvez alguns concorrentes nao saibam e eu vou usar alguns recursos para ganhar vantagem. Alias, há fortes concorrentes no forum que podem nao saber.

FLW

PedroX

Ranking : Nota C
Número de Mensagens : 6034
Idade : 21
Data de inscrição : 26/07/2008
Notas recebidas : C+B
Reputação : 286
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Problema com colisão usando Draw

Mensagem por Godsil4 em Ter 04 Jan 2011, 12:07

galaverna escreveu:Ola caro Godsil4 porfavor você ja disse uma coisa no meu tópico do hadouken n funfa porfavor vc disse que estava sem tempo aqula hora agora porfavor responda la obrigado

posakspaoks
to indo lah te responde
tinha esquecido <.<

sobre o concurso e as masks
vlw ae por explicar, q tinha
postado antes aki dps postei
aki dai confundio \=

Godsil4

Ranking : Nota B
Número de Mensagens : 474
Data de inscrição : 26/11/2010
Notas recebidas : B+A
Reputação : 23
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 1
   : 1

http://www.google.com.br

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Problema com colisão usando Draw

Mensagem por jogos_jv em Ter 04 Jan 2011, 12:19

Obrigado pela ajuda de todos, mas eu já consegui resolver o problema.
Só usei o sprite_create_from_screen() e ele resolveu o erro.
Quem quiser saber mais sobre essa função, vejam o help do GM. ;)


jogos_jv

Número de Mensagens : 92
Data de inscrição : 10/02/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://jogosjosevitoria.blogspot.com/

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Problema com colisão usando Draw

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


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