GMBR
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Entrar

Esqueci-me da senha

Últimos assuntos
» Retorno da GMBR!!!
por theguitarmester Ter 19 Mar 2024, 22:38

» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27

» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30

» Mudar cor de apenas uma palavra
por lunalol Sex 01 Mar 2024, 13:42

» Aceito pedidos de sprites (Com exemplos meus)
por Sevilha Qua 28 Fev 2024, 12:17

» Inventário simples
por Isquilo_Roedor Qui 22 Fev 2024, 15:18

» Problemas na programaçnao de inimigo [jogo DOOM LIKE]
por Black Mirror Dom 11 Fev 2024, 13:34

» ANDROID MULTI TOUCH
por DiegoBr Dom 04 Fev 2024, 12:13

» Servidor de Discord do fórum?
por Lighter Sáb 27 Jan 2024, 17:18

» Save e Load Json
por Klinton Rodrigues Qui 25 Jan 2024, 11:12

» Colisão com mais de um objeto
por aminaro Seg 22 Jan 2024, 15:02

» Oi sou novo aqui
por Thiago Silveira Alexandre Sáb 20 Jan 2024, 20:55

» Como acessar conteudo comprado no marketplace
por macmilam Sex 19 Jan 2024, 07:42

» Devlogs em vídeos do Block Room
por Joton Seg 15 Jan 2024, 16:56

» Alguém aqui já ganha dinheiro com seus games?
por Joton Seg 15 Jan 2024, 16:49

» ACERVO GMBR MAGAZINE
por Joton Qui 11 Jan 2024, 19:21

» como aumentar o obj sem aumentar a colisão??
por GabrielXavier Qua 10 Jan 2024, 07:21

» Asteroid Core - Early Acesse Update [0.2.0.0]
por JOZ. Seg 08 Jan 2024, 14:39

» Versionamento de código com GitHub
por GabrielXavier Seg 08 Jan 2024, 07:32

» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por kolesovsup Sex 29 Dez 2023, 07:16

» a funçao approach ainda existe?
por PEDRINDEV Ter 26 Dez 2023, 20:05

» Inimigo ataca até por trás! >:(
por saim Sex 22 Dez 2023, 08:55

» [RESOLVIDO]Spawn após morte
por Deception_1999 Dom 17 Dez 2023, 16:39

» Remunerado $$$ - Procuro programador para ajudar a "montar" um jogo
por theguitarmester Sáb 02 Dez 2023, 16:28

» Game maker nao abre
por Cerf Dom 26 Nov 2023, 12:01


Ajuda com movimentação por teclas

3 participantes

Ir para baixo

Ajuda com movimentação por teclas Empty Ajuda com movimentação por teclas

Mensagem por Furious God Sáb 17 Ago 2013, 18:16

Olá, eu queria fazer um sistema de seleção que se movimenta pelas teclas W,A,S e D, mas eu queria fazer que enquanto eu estivesse segurando a tecla, ele se movimentasse, no caso, o óbvio era usar o evento Keyboard, que faz isso. O problema é que isso faz com que a seleção se movimente muito rápido, assim sendo impossível mover apenas uma vez. Assim, quis fazer um sistema próprio por código mesmo, que enquanto a tecla, por exemplo, D, estivesse pressionada, ele repetisse os códigos, depois
eu podia acrescentar um timer pra atrasar isso, mas o problema é que NÃO FUNCIONA, ele simplesmente TRAVA, no caso, ele faz uma repetição infinita e trava, mas não era pra fazer uma repetição infinita, não sei por quê ele não para.

STEP:
Código:
while(keyboard_check_pressed(ord('D'))){
    if (global.coluna == global.quant_coluna-1){
        global.coluna = global.quant_coluna-1;    
    } else {
        if(global.blocos_verdes[global.linha,global.coluna] == 1){
            if(global.coluna+2 > global.quant_coluna-1){
            }else{
                global.coluna +=2;
            }    
        }else if(global.blocos_verdes[global.linha,global.coluna] == 3){
            if(global.coluna+2 > global.quant_coluna-1){
            }else{
                global.coluna +=2;
            }    
        }else{
            global.coluna += 1;
        }
    }  
}
Por favor, ajudem D=
Furious God
Furious God

Data de inscrição : 10/05/2010
Reputação : 0
Número de Mensagens : 62
Prêmios : Ajuda com movimentação por teclas Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Ajuda com movimentação por teclas Empty Re: Ajuda com movimentação por teclas

Mensagem por theguitarmester Sáb 17 Ago 2013, 19:37

Código:
    while(keyboard_check_pressed(ord('D')))...
Explicando o code:
Enquanto D estiver pressionada, acontecer a ação, após acontecer a ação do começo ao fim, checar novamente se D está pressionada, assim sucessivamente, até que D não esteja mais pressionado, e só quando não estiver mais, continuar a executar os outros codes, como a ATUALIZAÇÃO DO ESTADO DO TECLADO.

no seu caso, você deveria usar o if(ao invés do while), aparentemente.

Dê uma explicada em seu código também.
theguitarmester
theguitarmester

Games Ranking : Nota C

Notas recebidas : B + C
Data de inscrição : 28/02/2012
Reputação : 139
Número de Mensagens : 2208
Prêmios : Ajuda com movimentação por teclas Empty

Medalhas x 0 Tutoriais x 4 Moedas x 0

Ouro x 2 Prata x 2 Bronze x 1

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 1
Plataformas :
  • Unity


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

Ir para o topo Ir para baixo

Ajuda com movimentação por teclas Empty Re: Ajuda com movimentação por teclas

Mensagem por Furious God Sáb 17 Ago 2013, 19:53

theguitarmester, é isso mesmo que você disse, era o que deveria acontecer, só que não acontece, simplesmente trava quando aperto D. Sobre usar o if, ele só anda uma casa e se eu continuar apertando ele não faz nada, só se eu soltar e apertar de novo. O código de dentro do while faz andar dentro de uma matriz bidimensional, daí tem uns esquemas de pular 2 quadrados quando combina uns números, mas isso está funcionando perfeitamente, o problema é nesse maldito while que buga =/
Furious God
Furious God

Data de inscrição : 10/05/2010
Reputação : 0
Número de Mensagens : 62
Prêmios : Ajuda com movimentação por teclas Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Ajuda com movimentação por teclas Empty Re: Ajuda com movimentação por teclas

Mensagem por xShadoowgun Sáb 17 Ago 2013, 20:06

Isso acontece porque o comando keyboard_check_pressed executa UMA unica ação enquando vc estiver pressionando a tecla, para que a ação seja repedida varias veses vc deve usar o keyboard_check quer executa a ação a cada step que a tecla estiver pressionada. Mais quando vc usar o keyboard_check a seleção irá passar muito rapida, aí vc pode usar o room_speed para diminuir a velocidade da room.
Caso não funcione veja essa engine que eu fiz para vc Happy
Download aqui

Espero ter te ajudado...
xShadoowgun
xShadoowgun

Data de inscrição : 09/05/2013
Reputação : 10
Número de Mensagens : 13
Prêmios : Ajuda com movimentação por teclas Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

https://www.youtube.com/xShadoowgun

Ir para o topo Ir para baixo

Ajuda com movimentação por teclas Empty Re: Ajuda com movimentação por teclas

Mensagem por Furious God Sáb 17 Ago 2013, 21:35

Obrigado aos 2 que me reponderam, mas principalmente a você xShadoowgun, deu certo o que você me disse, agora pra ele ir mais devagar vou usar um alarme mesmo, acho que funciona melhor do que a room_speed =)
Furious God
Furious God

Data de inscrição : 10/05/2010
Reputação : 0
Número de Mensagens : 62
Prêmios : Ajuda com movimentação por teclas Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Ajuda com movimentação por teclas Empty Re: Ajuda com movimentação por teclas

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos