colisão em linha com dois objetos

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

colisão em linha com dois objetos

Mensagem por Tanker GT em Seg 19 Ago 2013, 22:02

Estou com uma dúvida no collision_line.
O jogo que estou montando é parecido com xadrez, você clica em uma peça e escolhe a casa onde ela deve ir, se o caminho estiver livre. Até ai tudo bem, o problema é que eu quero que os obj_player que fiquem entre o obj_mira(que indica onde a peça deve ir quando o mouse for solto) e a global.play_selecionado(peça selecionada) criem o obj_inter, mostrando que elas estão impedindo o caminho.
O código que tentei usar é esse, mas não deu certo:

Quando uma peça é selecionada pelo mouse ela cria o obj_mira que segue o mouse.No create do obj_mira eu coloquei:
Spoiler:
global.play_selecionado=instance_nearest(x,y,obj_parent_player0)
Então o global.play_selecionado será =  obj_player escolhido

Aí no step do obj_parent_player0, cujo todos obj_player são parentes teria o código:
Spoiler:
if  collision_line(global.play_selecionado.x, global.play_selecionado.y , obj_mira.x, obj_mira.y, obj_parent_player, true, true)
{instance_create(x,y,obj_inter)}

Só preciso de um código que possa verificar se o obj_player colide em uma mesma linha com o obj_mira e o obj_player selecionado, se sim criar o  obj_inter.
Eu não tenho nenhuma outra ideia de como fazer esse código nervoso

Tanker GT

Ranking : Nota C
Número de Mensagens : 106
Idade : 20
Data de inscrição : 08/10/2011
Notas recebidas : C
Reputação : 11
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: colisão em linha com dois objetos

Mensagem por Alex FC em Ter 20 Ago 2013, 10:54

Seu código parece estar correto. Mas você disse obj_parent_player0 ecolocou no código obj_parent_player, sem o "0". Alguns erros também podem estar ocorrendo pelo falo de você usar os os objetos sem eles estarem em jogo (Ou seja, sem eles existirem). Tente isso:

Código:
if instance_exists(obj_mira) and instance_exists(global.play_selecionado)
{
    if  collision_line(global.play_selecionado.x, global.play_selecionado.y , obj_mira.x, obj_mira.y, obj_parent_player, true, true)
    {
        instance_create(x,y,obj_inter);
    }
}
Espero que funcione.

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: colisão em linha com dois objetos

Mensagem por Tanker GT em Ter 20 Ago 2013, 17:01

Não deu certo, o obj_inter ainda não aparece.


Tanker GT

Ranking : Nota C
Número de Mensagens : 106
Idade : 20
Data de inscrição : 08/10/2011
Notas recebidas : C
Reputação : 11
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: colisão em linha com dois objetos

Mensagem por Alex FC em Ter 20 Ago 2013, 18:49

Esse obj_mira segue o mouse o tempo inteiro (Se sim, seria melhor usar mouse_x e mouse_y) ou ele para? Você guarda que valor dentro da variável global.play_selecionado?

Poderia passar os códigos de todos os objetos em questão? Pode ser que o erro nem esteja nesse código.

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: colisão em linha com dois objetos

Mensagem por Tanker GT em Ter 20 Ago 2013, 21:24

Ela segue o mouse:
{x = mouse_x;
y = mouse_y;
move_snap(64, 64);}

Eu mudei o código, tirei do parent e coloquei direto no obj_player, só que quando tem dois obj_player, eles invertem, tipo tem duas peças iguais, quando é para criar o obj_inter, ou ele cria nas duas ou cria na inversa, não na que esta colidindo em linha. Mad  

Tanker GT

Ranking : Nota C
Número de Mensagens : 106
Idade : 20
Data de inscrição : 08/10/2011
Notas recebidas : C
Reputação : 11
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: colisão em linha com dois objetos

Mensagem por Conteúdo patrocinado Hoje à(s) 20:05


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