Conectar-se
Quem está conectado
27 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 27 Visitantes

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Data de inscrição : 14/02/2010
Número de Mensagens : 76
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://pokextutoriais.blogspot.com

Pulo com mouse

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.
avatar
Ranking : Nota A
Notas recebidas : C + B + A + A
Data de inscrição : 08/06/2009
Número de Mensagens : 1846
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 254

Prêmios
   : 2
   : 1
   : 1
Ver perfil do usuáriohttp://willy-gmbr.blogspot.com/

Re: Pulo com mouse

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
avatar
Data de inscrição : 14/02/2010
Número de Mensagens : 76
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://pokextutoriais.blogspot.com

Re: Pulo com mouse

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?
avatar
Ranking : Nota A
Notas recebidas : C + B + A + A
Data de inscrição : 08/06/2009
Número de Mensagens : 1846
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 254

Prêmios
   : 2
   : 1
   : 1
Ver perfil do usuáriohttp://willy-gmbr.blogspot.com/

Re: Pulo com mouse

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...
avatar
Data de inscrição : 14/02/2010
Número de Mensagens : 76
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://pokextutoriais.blogspot.com

Re: Pulo com mouse

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
}
avatar
Ranking : Nota A
Notas recebidas : C + B + A + A
Data de inscrição : 08/06/2009
Número de Mensagens : 1846
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 254

Prêmios
   : 2
   : 1
   : 1
Ver perfil do usuáriohttp://willy-gmbr.blogspot.com/

Re: Pulo com mouse

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
}
avatar
Data de inscrição : 14/02/2010
Número de Mensagens : 76
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://pokextutoriais.blogspot.com

Re: Pulo com mouse

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.
avatar
Ranking : Nota A
Notas recebidas : C + B + A + A
Data de inscrição : 08/06/2009
Número de Mensagens : 1846
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 254

Prêmios
   : 2
   : 1
   : 1
Ver perfil do usuáriohttp://willy-gmbr.blogspot.com/

Re: Pulo com mouse

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
avatar
Data de inscrição : 14/02/2010
Número de Mensagens : 76
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://pokextutoriais.blogspot.com

Re: Pulo com mouse

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
avatar
Ranking : Nota A
Notas recebidas : C + B + A + A
Data de inscrição : 08/06/2009
Número de Mensagens : 1846
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 254

Prêmios
   : 2
   : 1
   : 1
Ver perfil do usuáriohttp://willy-gmbr.blogspot.com/

Re: Pulo com mouse

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?
avatar
Data de inscrição : 14/02/2010
Número de Mensagens : 76
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://pokextutoriais.blogspot.com

Re: Pulo com mouse

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.
avatar
Ranking : Nota A
Notas recebidas : C + B + A + A
Data de inscrição : 08/06/2009
Número de Mensagens : 1846
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 254

Prêmios
   : 2
   : 1
   : 1
Ver perfil do usuáriohttp://willy-gmbr.blogspot.com/

Re: Pulo com mouse

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)
Ver o tópico anteriorVoltar ao TopoVer o tópico seguinte
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum