Conectar-se
Quem está conectado
26 usuários online :: 2 usuários cadastrados, Nenhum Invisível e 24 Visitantes

Thiago Jaqueta, Zero.

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Ranking : Nota B
Notas recebidas : A+B+C
Data de inscrição : 25/07/2010
Número de Mensagens : 836
Insígnias de JAM :

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

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

Game maker entender as setas do Joystick

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)
avatar
Data de inscrição : 15/04/2012
Número de Mensagens : 144
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 7
Ver perfil do usuáriohttp://www.apple.com/br/

Re: Game maker entender as setas do Joystick

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.
avatar
Ranking : Sem avaliações
Data de inscrição : 26/08/2009
Número de Mensagens : 969
Insígnias de JAM :

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

Prêmios
   : 1
   :
   :
Ver perfil do usuário

Re: Game maker entender as setas do Joystick

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))
avatar
Ranking : Nota B
Notas recebidas : A+B+C
Data de inscrição : 25/07/2010
Número de Mensagens : 836
Insígnias de JAM :

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

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

Re: Game maker entender as setas do Joystick

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???
avatar
Ranking : Sem avaliações
Data de inscrição : 26/08/2009
Número de Mensagens : 969
Insígnias de JAM :

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

Prêmios
   : 1
   :
   :
Ver perfil do usuário

Re: Game maker entender as setas do Joystick

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;

}
avatar
Data de inscrição : 15/04/2012
Número de Mensagens : 144
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 7
Ver perfil do usuáriohttp://www.apple.com/br/

Re: Game maker entender as setas do Joystick

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
}
Ranking : Nota C
Notas recebidas : C+B
Data de inscrição : 26/07/2008
Número de Mensagens : 6036
Insígnias de JAM :

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

Prêmios
   :
   :
   :
Ver perfil do usuário

Re: Game maker entender as setas do Joystick

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

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

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

Re: Game maker entender as setas do Joystick

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ø
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