Pulo com mouse

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

Pulo com mouse

Mensagem por Gabrielbs11 em Dom 29 Set 2013, 11:57

Bom, estou fazendo um jogo de plataforma, e gostaria de saber como faço um pulo com o mouse.
Ex:

Ao clicar na seta, o player(Bolinha escrota) pularia, mas não teria a seta, claro, no caso seria se o clique do mouse fosse acima do player.

Gabrielbs11

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

http://pokextutoriais.blogspot.com

Voltar ao Topo Ir em baixo

Re: Pulo com mouse

Mensagem por Willy em Dom 29 Set 2013, 12:24

A menos que o player não se mova no eixo x, eu não recomendo você fazer o pulo clicando acima dele, pois eu duvido muito que o jogador vai ter paciência pra correr atrás do personagem com o mouse...
Não sei o estilo de jogo que você está fazendo, então eu posso estar falando besteira... Enfim.

Se não depender da posição x em que o mouse está, basta criar o evento "global mouse left pressed" no player e adicionar o seguinte código:
Código:
if (mouse_y < y-20)){
//Ação de pular
}
Mas, se for depender da posição x do mouse, vai ter que fazer a checagem neste if da seguinte forma:

Código:
if (mouse_y < y-20) && mouse_x>x-90 && mouse_x<x+90){
//Ação de pular
}
Os valores 20 e 90 você deve alterar para o que achar melhor. Importante notar que, no primeiro exemplo, não existe uma distancia y máxima para clicar. Caso queira colocar, basta fazer no y o mesmo que fiz com o x.

Dúvidas é só falar...
blz

___________


Engines, tutoriais e projetos? Clique no banner!



Atenção:
Comporte-se, senão você vai levar a cintada do Willy no meio da bunda! bravo


Willy

Ranking : Nota A
Número de Mensagens : 1812
Idade : 23
Data de inscrição : 08/06/2009
Notas recebidas : C + B + A + A
Reputação : 245
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 1
   : 1

http://willy-gmbr.blogspot.com/

Voltar ao Topo Ir em baixo

Re: Pulo com mouse

Mensagem por Gabrielbs11 em Dom 29 Set 2013, 12:30

Muito obrigado, e aproveitando o pulo, você poderia me dizer como resolvo um problema?
Quando pula reto para cima, a gravidade funciona perfeitamente, mas se mover na horizontal, ele desce lenta mente, poderia me dizer como resolver?

Gabrielbs11

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

http://pokextutoriais.blogspot.com

Voltar ao Topo Ir em baixo

Re: Pulo com mouse

Mensagem por Willy em Dom 29 Set 2013, 12:35

A gravidade não deveria ser afetada pelo movimento horizontal... Deve ser algum código que você usou que está interferindo...
Poste o código da gravidade aqui para que possamos dar uma olhada...

___________


Engines, tutoriais e projetos? Clique no banner!



Atenção:
Comporte-se, senão você vai levar a cintada do Willy no meio da bunda! bravo


Willy

Ranking : Nota A
Número de Mensagens : 1812
Idade : 23
Data de inscrição : 08/06/2009
Notas recebidas : C + B + A + A
Reputação : 245
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 1
   : 1

http://willy-gmbr.blogspot.com/

Voltar ao Topo Ir em baixo

Re: Pulo com mouse

Mensagem por Gabrielbs11 em Dom 29 Set 2013, 12:37

Sim, é porquê ele se move com o clique do mouse, segue o código no mouse globall pressed:
Código:
move_towards_point(mouse_x,y,4)

if x>=mouse_x
{
image_xscale=-1
}

if x<=mouse_x
{
image_xscale=1
}

if (mouse_y < y-20) && (mouse_x>x-90) && (mouse_x<x+90) && (noar=0)
{
vspeed-=12
noar=1
}

Gabrielbs11

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

http://pokextutoriais.blogspot.com

Voltar ao Topo Ir em baixo

Re: Pulo com mouse

Mensagem por Willy em Dom 29 Set 2013, 12:49

Acredito que seja culpa do move_towards_point(mouse_x,y,4)...
Não use move_towards para se mover, pois ai vai interferir mesmo...
Faça um sistema de gravidade com gravity, e para fazer o player mover horizontalmente, deixe o código que você postou assim:

Código:
if x>=mouse_x
{
image_xscale=-1
x-=4 //Acrescentei aqui...
}

if x<=mouse_x
{
image_xscale=1
x+=4 //E aqui...
}

if (mouse_y < y-20) && (mouse_x>x-90) && (mouse_x<x+90) && (noar=0)
{
vspeed-=12
noar=1
}

___________


Engines, tutoriais e projetos? Clique no banner!



Atenção:
Comporte-se, senão você vai levar a cintada do Willy no meio da bunda! bravo


Willy

Ranking : Nota A
Número de Mensagens : 1812
Idade : 23
Data de inscrição : 08/06/2009
Notas recebidas : C + B + A + A
Reputação : 245
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 1
   : 1

http://willy-gmbr.blogspot.com/

Voltar ao Topo Ir em baixo

Re: Pulo com mouse

Mensagem por Gabrielbs11 em Dom 29 Set 2013, 12:55

Bugou, o pulo faz ele voar, e quando cai, fica a 20 pixels do obj_block, que é o chão.

Gabrielbs11

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

http://pokextutoriais.blogspot.com

Voltar ao Topo Ir em baixo

Re: Pulo com mouse

Mensagem por Willy em Dom 29 Set 2013, 13:12

É porque você esqueceu de adicionar o sistema de gravidade...

No step, coloque algo como:
Código:
if (place_free(x,y+1){
  gravity = 1;
}else{
  gravity = 0;
}
A propósito...
Spoiler:

Post número 1.000

___________


Engines, tutoriais e projetos? Clique no banner!



Atenção:
Comporte-se, senão você vai levar a cintada do Willy no meio da bunda! bravo


Willy

Ranking : Nota A
Número de Mensagens : 1812
Idade : 23
Data de inscrição : 08/06/2009
Notas recebidas : C + B + A + A
Reputação : 245
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 1
   : 1

http://willy-gmbr.blogspot.com/

Voltar ao Topo Ir em baixo

Re: Pulo com mouse

Mensagem por Gabrielbs11 em Dom 29 Set 2013, 13:38

Meu step está assim:
Código:
if place_meeting(x,y+1,Obj_Block)
{
gravity=0
noar=0
}
else
{
gravity_direction=270
gravity=0.5
}

prace_free faz a função melhor?
e parabéns Very Happy

Gabrielbs11

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

http://pokextutoriais.blogspot.com

Voltar ao Topo Ir em baixo

Re: Pulo com mouse

Mensagem por Willy em Dom 29 Set 2013, 13:49

Na verdade, o place_free generaliza a colisão para qualquer objeto que seja sólido. Já o place_meeting é para um objeto especifico...
Ainda está dando o erro?

___________


Engines, tutoriais e projetos? Clique no banner!



Atenção:
Comporte-se, senão você vai levar a cintada do Willy no meio da bunda! bravo


Willy

Ranking : Nota A
Número de Mensagens : 1812
Idade : 23
Data de inscrição : 08/06/2009
Notas recebidas : C + B + A + A
Reputação : 245
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 1
   : 1

http://willy-gmbr.blogspot.com/

Voltar ao Topo Ir em baixo

Re: Pulo com mouse

Mensagem por Gabrielbs11 em Dom 29 Set 2013, 13:56

o pulo ta normal, mas quando ele cai, ele continua a 20 pixels do chão, e não se move.

Gabrielbs11

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

http://pokextutoriais.blogspot.com

Voltar ao Topo Ir em baixo

Re: Pulo com mouse

Mensagem por Willy em Dom 29 Set 2013, 14:16

Isso não faz sentido... Me passe a engine por MP para que eu veja o que está acontecendo...

[Edit] Analisei a engine. O código está funcionando, só está ficando distante do chão devido à colisão com o chão.
Basta acrescentar esse código no objeto do jogador na colisão com o bloco:
Código:
if vspeed > 0 and not place_free(x,y + vspeed)//***se a velocidade vertical for maior do que 0 e não tiver o mesmo valor da vel vertical abaixo...
{
    move_contact_solid(direction,vspeed)//mover na direção do bloco, na direcçao e com a vel.vertical
}
vspeed = 0//***velocidade vertical = a 0(esta no chao)

___________


Engines, tutoriais e projetos? Clique no banner!



Atenção:
Comporte-se, senão você vai levar a cintada do Willy no meio da bunda! bravo


Willy

Ranking : Nota A
Número de Mensagens : 1812
Idade : 23
Data de inscrição : 08/06/2009
Notas recebidas : C + B + A + A
Reputação : 245
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 1
   : 1

http://willy-gmbr.blogspot.com/

Voltar ao Topo Ir em baixo

Re: Pulo com mouse

Mensagem por Conteúdo patrocinado Hoje à(s) 03:52


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