[Resolvido]Dúvida com collision_point

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

Resolvido [Resolvido]Dúvida com collision_point

Mensagem por Need 90 em Qui 05 Abr 2012, 09:42

Bom, estou fazendo o Zombies 2 e estou com um problema, quando a bala atingir o x e y que foi clicado, ela vai ser destruída, para isso coloquei no create :
Código:
mxp=mouse_x
myp=mouse_y
move_towards_point (mouse_x,mouse_y,20)
Nesse ela vai definir o x e y e mover até o mouse.

E no step :
Código:
if collision_point (mxp,myp,obj_balap1,1,1){
instance_destroy()
}
Esse é pra quando o tiro atingir o x e y é pra destruir, mas não funciona.

Mas, quando ela atinge o x e y definido, ela não destrói, poderiam me ajudar???
Grato desde já !


Última edição por Need 90 em Qui 05 Abr 2012, 11:14, editado 2 vez(es)

Need 90

Ranking : Nota B
Número de Mensagens : 787
Data de inscrição : 16/01/2012
Notas recebidas : D+A+B
Reputação : 7
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://need90games.blogspot.com.br

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Dúvida com collision_point

Mensagem por saim em Qui 05 Abr 2012, 10:44

Parece que tem 2 erros aí.
1 - A colisão está sendo verificada com o obj_balap1. Essa é a própria bala, o próprio objeto verificando se o ponto colide com ele, certo? Nesse caso, o argumento notme deveria ser false, senão a bala nunca vai aceitar a colisão com ela mesma.

2 - Você pergunta a respeito de collision_line (no título) mas usa collision_point. Pode ter sido um engano na hora de digitar o título, mas pode ter sido uma confusão na hora de escrever o código mesmo.
A velocidade de movimento é 20. Normalmente isso é maior que a sprite de uma bala. Se for o caso, existe a possibilidade do tiro passar batido pelo ponto (uma bala 10 x 10, num step está a 5 pixels de tocá-lo e, no step seguinte, está a 5 pixels após o ponto). Talvez checar se distância entre a bala e o ponto é menor que a velocidade seja mais eficiente.

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Dúvida com collision_point

Mensagem por Need 90 em Qui 05 Abr 2012, 10:55

Então seria algo mais ou menos assim :
Código:
if distance_to_point (mxp,myp)<20{
instance_destroy()
}
?

Qual é a tag Gml mesmo? Que deixa no formato de gml. Fica melhor de entender.
Eu tinha errado o titulo do tópico mesmo. Desculpe.

@Edit
Resolvido, fiz uma gambiarra aqui e funcionou.

Need 90

Ranking : Nota B
Número de Mensagens : 787
Data de inscrição : 16/01/2012
Notas recebidas : D+A+B
Reputação : 7
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://need90games.blogspot.com.br

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Dúvida com collision_point

Mensagem por PedroX em Qui 05 Abr 2012, 11:17

É Need 90, isso deve funcionar.

A tag gml é gml mesmo.

Código:
<gml>Meu código</gml>

Meu código

Não funciona mais. Vou tentar resolver isso.

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]Dúvida com collision_point

Mensagem por GameMakerTutoriais em Qui 05 Abr 2012, 12:55

Amigo, essa bala pode saltar o ponto de destino com "move_towards_point" mas também pode acontecer isso usando "speed" e "point_distance". Se você checar se o valor da distância que ela percorreu é maior ou igual, funciona, mas se for checar o ponto exato, pode não funcionar pelo mesmo motivo que o saim disse aí.

Se vc quer que ela chegue no ponto exato, tenta isso no step:

Código:
move_towards_point(
    mxp,
    myp,
    min(20, point_distance(x, y, mpx, mpy))
);

Falou!

GameMakerTutoriais

Número de Mensagens : 800
Data de inscrição : 29/01/2011
Reputação : 26
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]Dúvida com collision_point

Mensagem por saim em Qui 05 Abr 2012, 13:25

Ninja8086, esse seu código funciona se for colocado no step, só que o Need90 colocou o move_towards só no create.

Mas o dele também é bom. Em qualquer geometria, se a movimentação é numa velocidade V em direção a um ponto, em algum momento a distância até esse ponto SERÁ menor que V. Na verdade, se quiser usar <= (V/2), também pode-se afirmar que cedo ou tarde o teste retornará true.

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Dúvida com collision_point

Mensagem por Need 90 em Qui 05 Abr 2012, 13:30

Vlw ninja, agora ficou perfeito. Podem trancar.

Need 90

Ranking : Nota B
Número de Mensagens : 787
Data de inscrição : 16/01/2012
Notas recebidas : D+A+B
Reputação : 7
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://need90games.blogspot.com.br

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Dúvida com collision_point

Mensagem por Conteúdo patrocinado Hoje à(s) 00:30


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