[Ajuda] Como faço isso?

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

[Ajuda] Como faço isso?

Mensagem por wendreo_v em Sab 05 Maio 2012, 14:51

Olá pessoal, estou com dúvida em relação a colisões. Não tenho a mínima ideia de como fazer com que quando eu encoste na bola eu empurre ela dependendo da minha posição, não que ela grude em min. Assim :

O jogador encosta nela e empurra ela e se apertar determinado botão quando encostar ela vai mais longe


Já olhei vários tópicos sobre colisões, tenho um bom conhecimento em gml só que mesmo assim não consegui fazer esse tipo de colisão.

Agradeço dez de já. Abração!

wendreo_v

Ranking : Nota D
Número de Mensagens : 103
Idade : 19
Data de inscrição : 02/11/2011
Notas recebidas : D
Reputação : 2
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [Ajuda] Como faço isso?

Mensagem por Thiago_o_programador em Seg 21 Maio 2012, 12:48

tente usar move_contact_solid() onde o obj solido pode ser o player, se apertar a tecla vc aumenta o maxdir.

Thiago_o_programador

Ranking : Nota D
Número de Mensagens : 709
Idade : 19
Data de inscrição : 14/05/2009
Notas recebidas : D - C - D - C
Reputação : 6
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 1

http://www.jogosdahora.maisblog.net

Voltar ao Topo Ir em baixo

Re: [Ajuda] Como faço isso?

Mensagem por GameMakerTutoriais em Seg 21 Maio 2012, 20:09



Amigo, isso é mais complexo do que a solução simples que eu vou colocar aqui, mas talvez te dê uma ideia de como começar a fazer.

No caso, isso seria colocado na colisão com a bola:

Código:

// Pega o movimento em relação ao passo anterior
xx := x - xprevious;
yy := y - yprevious;

// Aplica o resultado na posição da bola (empurra)
other.x += xx;
other.y += yy;

// Se há diferença e for apertado o botão de chute...
if (xx <> 0) or (yy <> 0) and keyboard_check_pressed(vk_space) then
begin

    // Aplica direção e velocidade na bola.
    other.direction := point_direction(xprevious, yprevious, x, y);
    other.speed := 10;
end;

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

Re: [Ajuda] Como faço isso?

Mensagem por Conteúdo patrocinado Hoje à(s) 15:56


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