Dúvidas com joystick e seus botões...

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

Dúvidas com joystick e seus botões...

Mensagem por Anderson3d em Qui 25 Jul 2013, 19:20

Olá meu povo, em meus estudo de GM me deparei agora com a configuração do joystick.
Fiz essa engine (sebosa) só para mostrar como anda meu estudo.
Código:
http://www.4shared.com/file/3ajl0Ul1/controle_por_joystick.html
Um objeto que atira dois tipos de bala diferentes que pode ser usado com joystick (qualquer) e tem dois objetos que podem mudar os botões de atirar.
OK.
Minhas dúvidas são:

Se "joystick_check_button" significa que o botão esta sendo usado...
1-qual o comando equivalente à "botão do joystick realizado" (quando soltamos o botão do joystick)?
2-qual o comando equivalente à "botão do joystick pressionado" (quando ficamos segurando o botão do joystick apertado)?

Pergunto isso porque o "joystick_check_button" me parece que verifica a todo instante, e isso atrapalha.

Procurei no fórum e não vi dana sobre isso, até estranhei.

Anderson3d

Ranking : Nota A
Número de Mensagens : 1479
Idade : 33
Data de inscrição : 15/02/2009
Notas recebidas : A - A
Reputação : 9
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 1

http://www.indiegamebr.com

Voltar ao Topo Ir em baixo

Re: Dúvidas com joystick e seus botões...

Mensagem por theguitarmester em Qui 25 Jul 2013, 19:44

Bom, não conheço um comando próprio a isso, talvez com alguma Dll tenha isto, mas, para fazer o pressed eu faço assim:
Código:
if joystick_check_button() {JoyB+=1}else {JoyB=0}
Então, se o JoyB for igual a 1, quer dizer que ele está sendo pressionado.

Para fazer o released, usaria a mesma lógica, só que ao contrário.

Mas pelo que entendi, a sua pergunta não seria bem como fazer, e sim se há um comando próprio, para evitar essa checagem constante, porém, acho que o pressed também precisaria de uma checagem constante, para saber se está ou não pressionando.

theguitarmester

Ranking : Sem avaliações
Número de Mensagens : 1908
Idade : 21
Data de inscrição : 28/02/2012
Notas recebidas : B
Reputação : 80
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 1
Prêmios
   : 2
   : 2
   : 1

http://guitarmester.no.comunidades.net/index.php?pagina=19362978

Voltar ao Topo Ir em baixo

Re: Dúvidas com joystick e seus botões...

Mensagem por Anderson3d em Qui 25 Jul 2013, 19:51

theguitarmester escreveu:Bom, não conheço um comando próprio a isso, talvez com alguma Dll tenha isto, mas, para fazer o pressed eu faço assim:
Código:
if joystick_check_button() {JoyB+=1}else {JoyB=0}
Então, se o JoyB for igual a 1, quer dizer que ele está sendo pressionado.

Para fazer o released, usaria a mesma lógica, só que ao contrário.

Mas pelo que entendi, a sua pergunta não seria bem como fazer, e sim se há um comando próprio, para evitar essa checagem constante, porém, acho que o pressed também precisaria de uma checagem constante, para saber se está ou não pressionando.
Na verdade se vc souber como fazer já ajuda muito. Eu não entendi esse JoyB? O que é isso? Porque não tem nada nos parênteses do comando joystick_check_button?

Anderson3d

Ranking : Nota A
Número de Mensagens : 1479
Idade : 33
Data de inscrição : 15/02/2009
Notas recebidas : A - A
Reputação : 9
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 1

http://www.indiegamebr.com

Voltar ao Topo Ir em baixo

Re: Dúvidas com joystick e seus botões...

Mensagem por theguitarmester em Qui 25 Jul 2013, 20:14

Naquele Code, não há nada no joyst...() porque eu havia pegado o do seu exemplo, e como você não havia colocado nehhum botão, fiz o mesmo.
JoyB seria um variavel qualquer, que nela guardaria se você estava pressionando a tecla, sempre adicionando 1 enquanto continuava a pressionar, ela pode servir até para demarcar o tempo em que o botão ficou pressionado.

Se ajuda, Irei fazer uma exemplo de joy...pressed: e com variáveis que facilitará a chamar os comandos de pressed e release
No exemplo, usarei o button 1 - equivalente ao Triângulo no controle de PS2.
Create:
Código:
JoyB = 0 //Se está pressionando o botão, esse valor estará aumentando.
joystick_check_button_pressed = 0 //caso esteja sendo pressionado, este valor será 1.
joystick_check_button_release = 0 //caso esteja sendo largado, este valor será 1.

No Step(ou draw, begin, end):
Código:
if joystick_check_button(0,1){JoyB+=1}else
{if JoyB>0 joystick_check_button_release= 1 else joystick_check_button_release = 0 JoyB=0}
if JoyB = 1 joystick_check_button_pressed = 1 joystick_check_button_pressed = 0
COM A SINTAX DO FÓRUM, APARECE UM < BR > Aí no Meio, apenas o delete.

Com isso, quando quiseres saber quando o Joy foi apertado\ cheque joystick_check_button_pressed, e quando quizer saber se foi largado, cheque joystick_check_button_release.

Fiz de cabeça, mas acho que funciona, já usei este modo para o Pressed, e já tinha em pensamento o release.

theguitarmester

Ranking : Sem avaliações
Número de Mensagens : 1908
Idade : 21
Data de inscrição : 28/02/2012
Notas recebidas : B
Reputação : 80
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 1
Prêmios
   : 2
   : 2
   : 1

http://guitarmester.no.comunidades.net/index.php?pagina=19362978

Voltar ao Topo Ir em baixo

Re: Dúvidas com joystick e seus botões...

Mensagem por Conteúdo patrocinado Hoje à(s) 18:36


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