Game maker entender as setas do Joystick

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

Resolvido Game maker entender as setas do Joystick

Mensagem por Joton em Ter 10 Jul 2012, 20:54

Passei boa parte da minha tarde procurando formas de implantar um sistema no meu jogo para se poder usar também o joystick, tentei os códigos em gml nativos, uma extensão do Jiraya, mas só funciona os botões:

http://gmbr.forumeiros.com/t14308-gexjoystick-extension?highlight=joystick#top

Tentei simular ao aperta as setas pressionar as teclas correspondentes a: A,W, D usando o keyboard_key_press, mas não funcinou.

Procurei outras formas, mas nada foi satisfatório, alguém conhece alguma forma do game maker entender os comandos de setas do Joystick, sem usar outro programa como emulador de teclado?



Última edição por Joton em Qua 11 Jul 2012, 18:50, editado 1 vez(es)

Joton

Ranking : Nota B
Número de Mensagens : 836
Idade : 28
Data de inscrição : 25/07/2010
Notas recebidas : A+B+C
Reputação : 5
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 0
   : 0

http://jotonsn.blogspot.com/

Voltar ao Topo Ir em baixo

Resolvido Re: Game maker entender as setas do Joystick

Mensagem por CodemonkeyVoid() em Ter 10 Jul 2012, 21:25

Help do GM escreveu:joystick_pov(id) Returns the joysticks point-of view position. This is an angle between 0 and 360 degrees. 0 is forwards, 90 to the right, 180 backwards and 270 to the left. When no point-of-view direction is pressed by the user -1 is returned.
Da uma olhada se seu joypad não é POV (point of view).

Aqueles genéricos de Playstation quando estão com a função analógico ligado são POV, do contrário não, então vc precisa usar ambas funções pra que ele funcione independente disso.

CodemonkeyVoid()

Número de Mensagens : 144
Idade : 17
Data de inscrição : 15/04/2012
Reputação : 7
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://www.apple.com/br/

Voltar ao Topo Ir em baixo

Resolvido Re: Game maker entender as setas do Joystick

Mensagem por itallo em Ter 10 Jul 2012, 21:33

no meu controle multilaser ele retorna valores de 98 a 107 sem lembro bem.
usei isso: draw_text(x,y,joystick_direction(1))

itallo

Ranking : Sem avaliações
Número de Mensagens : 969
Idade : 24
Data de inscrição : 26/08/2009
Reputação : 12
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   :
   :

http://www.zuluhotel.com.br

Voltar ao Topo Ir em baixo

Resolvido Re: Game maker entender as setas do Joystick

Mensagem por Joton em Ter 10 Jul 2012, 21:52

@CodemonkeyVoid(): O controle que uso não tem analógico.

@itallo: fiz o teste, esquerdo deu 100, direita 102, baixo 98, cima 104, você pode explicar o motivo de usar esse código??? E se dá pra fazer algo com esses numeros???

Joton

Ranking : Nota B
Número de Mensagens : 836
Idade : 28
Data de inscrição : 25/07/2010
Notas recebidas : A+B+C
Reputação : 5
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 0
   : 0

http://jotonsn.blogspot.com/

Voltar ao Topo Ir em baixo

Resolvido Re: Game maker entender as setas do Joystick

Mensagem por itallo em Ter 10 Jul 2012, 21:58

ele retorna a tecla direcional que esta sendo pressionada.

switch(joystick_direction(1))
{
case 100:
x-=1;
break;

case 102:
x+=1;
break;

}

itallo

Ranking : Sem avaliações
Número de Mensagens : 969
Idade : 24
Data de inscrição : 26/08/2009
Reputação : 12
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   :
   :

http://www.zuluhotel.com.br

Voltar ao Topo Ir em baixo

Resolvido Re: Game maker entender as setas do Joystick

Mensagem por CodemonkeyVoid() em Ter 10 Jul 2012, 22:03

A muito tempo atrás eu usei um sistema desse pra comportar joypad... era no GM 6 ainda, mas em todo caso:

Código:
if (joystick_direction(id) = vk_numpad6) or (joystick_pov(id) = 90)
{
    //pressionando direita
}
else if (joystick_direction(id) = vk_numpad9) or (joystick_pov(id) = 45)
{
    //pressionando direita-cima
}
else if (joystick_direction(id) = vk_numpad8) or (joystick_pov(id) = 0)
{
    //pressionando cima
}
else if (joystick_direction(id) = vk_numpad7) or (joystick_pov(id) = 315)
{
    //pressionando esquerda-cima
}
else if (joystick_direction(id) = vk_numpad4) or (joystick_pov(id) = 270)
{
    //pressionando esquerda
}
else if (joystick_direction(id) = vk_numpad1) or (joystick_pov(id) = 225)
{
    //pressionando esquerda-baixo
}
else if (joystick_direction(id) = vk_numpad2) or (joystick_pov(id) = 180)
{
    //pressionando baixo
}
else if (joystick_direction(id) = vk_numpad3) or (joystick_pov(id) = 135)
{
    //pressionando direita-baixo
}

CodemonkeyVoid()

Número de Mensagens : 144
Idade : 17
Data de inscrição : 15/04/2012
Reputação : 7
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://www.apple.com/br/

Voltar ao Topo Ir em baixo

Resolvido Re: Game maker entender as setas do Joystick

Mensagem por PedroX em Ter 10 Jul 2012, 22:11

@itallo: fiz o teste, esquerdo deu 100, direita 102, baixo 98, cima 104, você pode explicar o motivo de usar esse código??? E se dá pra fazer algo com esses numeros???

Segundo a página: http://wiki.yoyogames.com/index.php/Joystick_direction

if joystick_direction(1)=101 stop
if joystick_direction(1)=100 left
if joystick_direction(1)=102 right
if joystick_direction(1)=104 up
if joystick_direction(1)=98 down
if joystick_direction(1)=97 downleft
if joystick_direction(1)=103 upleft
if joystick_direction(1)=105 upright
if joystick_direction(1)=99 downright

O seu controle está de acordo com o teórico.
Para ver melhor:


Editado: o CodeMonkeyVoid postou uma coisa importante, já que aqueles códigos são iguais ao numpad do pc, então você usa as direções como base.

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: Game maker entender as setas do Joystick

Mensagem por Joton em Qua 11 Jul 2012, 18:49

Usando o que vocês me passaram já tive um resultado bom que funcionou perfeitamente, agora vou implementar o uso dos:

Joystick_direction(1)=103 upleft
Joystick_direction(1)=105 upright

Para o personagem pular indo para esquerda ou direta.

Obrigado @itallo, @CodemonkeyVoid() e @Pedrø

Joton

Ranking : Nota B
Número de Mensagens : 836
Idade : 28
Data de inscrição : 25/07/2010
Notas recebidas : A+B+C
Reputação : 5
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 0
   : 0

http://jotonsn.blogspot.com/

Voltar ao Topo Ir em baixo

Resolvido Re: Game maker entender as setas do Joystick

Mensagem por Conteúdo patrocinado Hoje à(s) 16:02


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