Entrar
Últimos assuntos
» player não consegue andarpor lovn7 Qui 21 Nov 2024, 13:33
» É possível fazer istó no game maker
por William Lima Qui 21 Nov 2024, 10:56
» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por Lua Sáb 16 Nov 2024, 20:22
» (Resolvido) Cenario longo x Texture Pages
por josuedemoraes Sáb 16 Nov 2024, 15:31
» Kids' band
por Adilson Lucindo Santos Sex 15 Nov 2024, 12:23
» (RESOLVIDO) Engasgos-Troca de Sprites/animações
por josuedemoraes Ter 12 Nov 2024, 01:49
» Block Room - DEMO
por Joton Qua 06 Nov 2024, 22:58
» Game Infinito vertical (subindo)
por macmilam Sáb 26 Out 2024, 12:36
» Retorno da GMBR!!!
por Dancity Ter 22 Out 2024, 16:36
» Máquina de estados
por aminaro Qui 10 Out 2024, 13:33
» como faço pra um objeto colidir com o outro e diminuir a vida do player ?
por josuedemoraes Qui 03 Out 2024, 16:51
» RESOLVIDO: Colisão com objetos moveis
por josuedemoraes Qua 02 Out 2024, 20:28
» Crypt of the Blood Moon
por divin sphere Qua 11 Set 2024, 18:18
» como fazer um objeto seguir?
por divin sphere Dom 18 Ago 2024, 18:08
» Procuro de alguém para Modelar/Texturizar/Animar objetos 3D
por un00brn Dom 11 Ago 2024, 11:10
» Destruição de cenário (estilo DD Tank)
por CoronelZeg Sex 09 Ago 2024, 17:16
» RESOLVIDO-Como destruir uma instancia especifica de um objeto
por josuedemoraes Ter 23 Jul 2024, 00:40
» Automatizar a coleta de id
por GabrielXavier Seg 22 Jul 2024, 18:01
» Preciso de ajuda para concluir um pequeno projeto
por lmoura Qui 27 Jun 2024, 15:45
» ANGULO ACOMPANHAR O OBJETO
por Klinton Rodrigues Qui 27 Jun 2024, 08:34
» Musica reinicia quando sala reinicia
por GabrielXavier Ter 18 Jun 2024, 07:28
» como fazer uma copia de gd
por generico_cube Sex 14 Jun 2024, 15:48
» Square Adventure
por guilherme551 Ter 11 Jun 2024, 09:54
» como posso definir limite de uma variavel
por GabrielXavier Sex 07 Jun 2024, 14:14
» [Resolvido] Dúvida, colisão única de objeto
por vdm842 Sex 24 maio 2024, 09:50
PROBLEMA: movimentar para diagonal e atirar (ao mesmo tempo)
2 participantes
Página 1 de 1
PROBLEMA: movimentar para diagonal e atirar (ao mesmo tempo)
Help!
Nota: é do tutorial: Beginner’s Guide to Game Maker 4.3 Programming by Carl Gustafsson
Tutorial original (em Inglês) / Tutorial (em português)
Fiz um protótipo de shooter ("jogo de nave"), vertical, e quando vou movimentar para a diagonal e atirar ao mesmo tempo não está funcionando. Exceto para uma das diagonais (sentido NE - Nordeste, comparando com a Rosa dos Ventos de 8 direções). As outras diagonais (para esquerda e as duas para baixo) não funcionam ao mesmo tempo com o tiro.
Para a movimentação da "nave" estou usando "Execute Code" e a seguinte instrução GML nos eventos Keyboard (direcionais):
Com isso o player movimenta para todos os lados e para as diagonais. Mas como disse anteriormente, em 3 diagonais não é possível mover e atirar ao mesmo tempo.
No envento Keyboard <space> da nave tem o seguinte código:
O código acima é para o tiro não fluir continuamente e sim pausadamente.
Tipo, to até achando que pode ser o teclado aqui...
Alguém poderia me ajudar?
O restante funfa blz.
Nota: é do tutorial: Beginner’s Guide to Game Maker 4.3 Programming by Carl Gustafsson
Tutorial original (em Inglês) / Tutorial (em português)
Fiz um protótipo de shooter ("jogo de nave"), vertical, e quando vou movimentar para a diagonal e atirar ao mesmo tempo não está funcionando. Exceto para uma das diagonais (sentido NE - Nordeste, comparando com a Rosa dos Ventos de 8 direções). As outras diagonais (para esquerda e as duas para baixo) não funcionam ao mesmo tempo com o tiro.
Para a movimentação da "nave" estou usando "Execute Code" e a seguinte instrução GML nos eventos Keyboard (direcionais):
- Código:
x += 5; // Para direita <right> com velocidade 5
x -= 5; // Para esquerda <left>
y += 5; // Para baixo <down>
y -= 5; // Para cima <up>
Com isso o player movimenta para todos os lados e para as diagonais. Mas como disse anteriormente, em 3 diagonais não é possível mover e atirar ao mesmo tempo.
No envento Keyboard <space> da nave tem o seguinte código:
- Código:
if (gunReady = true) // Verifica se a variável é verdadeira
{
instance_create(x,y,objBullet); // Cria a instância do objeto Bullet (tiro) a partir do mesmo ponto onde se encontra a nave no jogo (x, y).
gunReady = false; // Desabilita o tiro da nave. Variável torna falsa.
alarm[0] = 10; // Tempo de 10 frames para chamar o Evento alarm[0] que contém um código para habilitar novamente o tiro (gunReady = true;).
}
O código acima é para o tiro não fluir continuamente e sim pausadamente.
Tipo, to até achando que pode ser o teclado aqui...
Alguém poderia me ajudar?
O restante funfa blz.
maurozb- Data de inscrição : 02/07/2008
Reputação : 0
Número de Mensagens : 21
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: PROBLEMA: movimentar para diagonal e atirar (ao mesmo tempo)
Caraca...
Peço desculpa pelo POST. Mas agora que ele está aí, talvez sirva para alguém...
O problema era nada menos que a tecla SPACE mesmo.
Assim que tentava ir para alguma diagonal e atirar ao mesmo tempo não conseguia... Troquei a tecla SPACE pela tecla CTRL e está funcionando blz.
O Tutorial do Carl Gustaffson está certo. O Prow aqui era o teclado mesmo. aff...
foi mal ter postado antes de ter tentado a técnica de mudar a tecla...
Mas espero que se houver caso semelhante esse post possa ajudar.
flw!
Peço desculpa pelo POST. Mas agora que ele está aí, talvez sirva para alguém...
O problema era nada menos que a tecla SPACE mesmo.
Assim que tentava ir para alguma diagonal e atirar ao mesmo tempo não conseguia... Troquei a tecla SPACE pela tecla CTRL e está funcionando blz.
O Tutorial do Carl Gustaffson está certo. O Prow aqui era o teclado mesmo. aff...
foi mal ter postado antes de ter tentado a técnica de mudar a tecla...
Mas espero que se houver caso semelhante esse post possa ajudar.
flw!
maurozb- Data de inscrição : 02/07/2008
Reputação : 0
Número de Mensagens : 21
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: PROBLEMA: movimentar para diagonal e atirar (ao mesmo tempo)
E aí maurozb!
Cara isso na verdade não é um problema da tecla "space". Isso é o buffer do teclado.
Esse buffer controla o fluxo contínuo de teclas e infelizmente tem um limite, o que provoca o "cancelamento" de outras teclas!
Você alterar o valor do buffer pelo regedit, o editor de registros do Windows.
Procure pela chave:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesKbdclassParameters
A chave certa é KeyboardDataQueueSize. O valor padrão é 100 (64 em hexadecimal). Altere esse valor para 150. Acho que vai resolver o seu problema como resolveu o meu.
Feche o editor. Boa sorte!!!
Cara isso na verdade não é um problema da tecla "space". Isso é o buffer do teclado.
Esse buffer controla o fluxo contínuo de teclas e infelizmente tem um limite, o que provoca o "cancelamento" de outras teclas!
Você alterar o valor do buffer pelo regedit, o editor de registros do Windows.
Procure pela chave:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesKbdclassParameters
A chave certa é KeyboardDataQueueSize. O valor padrão é 100 (64 em hexadecimal). Altere esse valor para 150. Acho que vai resolver o seu problema como resolveu o meu.
Feche o editor. Boa sorte!!!
Convidad- Convidado
Re: PROBLEMA: movimentar para diagonal e atirar (ao mesmo tempo)
Boa brendan.
Essa de mudar a chave de registro vai ser bem útil.
Essa de mudar a chave de registro vai ser bem útil.
Re: PROBLEMA: movimentar para diagonal e atirar (ao mesmo tempo)
Vlw brendan por responder. Muito obrigado!
À respeito do problema, encontrei a chave e alterei o valor para 150, mas até o momento não funcionou...
Detalhe: no meu PC funciona normalmente (WinXP), não funcionou no PC da minha noiva (WinVista).
Estarei testando outros valores...
Em todo caso, devemos pensar no seguinte: qdo distribuir o jogo precisamos "prever" de certo modo que o PC do jogador pode ocorrer o mesmo problema. E geralmente esse jogador é leigo... Então o mais correto seria mudar a tecla mesmo.
Mas a solução que vejo mais COERENTE é que o jogo tenha a possibilidade de configurar os controles (teclas). Assim cada usuário usará as teclas que achar melhor. E consequentemente se uma não funcionar corretamente, ele poderá tentar outra.
E novamente, MUITO OBRIGADO brendan!
FLW!
À respeito do problema, encontrei a chave e alterei o valor para 150, mas até o momento não funcionou...
Detalhe: no meu PC funciona normalmente (WinXP), não funcionou no PC da minha noiva (WinVista).
Estarei testando outros valores...
Em todo caso, devemos pensar no seguinte: qdo distribuir o jogo precisamos "prever" de certo modo que o PC do jogador pode ocorrer o mesmo problema. E geralmente esse jogador é leigo... Então o mais correto seria mudar a tecla mesmo.
Mas a solução que vejo mais COERENTE é que o jogo tenha a possibilidade de configurar os controles (teclas). Assim cada usuário usará as teclas que achar melhor. E consequentemente se uma não funcionar corretamente, ele poderá tentar outra.
E novamente, MUITO OBRIGADO brendan!
FLW!
maurozb- Data de inscrição : 02/07/2008
Reputação : 0
Número de Mensagens : 21
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: PROBLEMA: movimentar para diagonal e atirar (ao mesmo tempo)
Você tem razão maurozb. Como eu havia dito, eu também tive este problema e também acho que não seria coerente alterar o registro do sistema sem avisar ou pedir permissão ao usuário.
Bom, de qualquer forma eu vou estudar esse problema pra tentar resolvê-lo de uma forma mais técnica. Kinking havia me dito em outro post que a limitação também poderia ser do hardware, e acho que tem relação.
Pode ser esse o motivo de ter funcionado aqui e aí não. Vou verificar isso, afinal é uma coisa que compromete toda a diversão de um jogo: a jogabilidade!
Bom, de qualquer forma eu vou estudar esse problema pra tentar resolvê-lo de uma forma mais técnica. Kinking havia me dito em outro post que a limitação também poderia ser do hardware, e acho que tem relação.
Pode ser esse o motivo de ter funcionado aqui e aí não. Vou verificar isso, afinal é uma coisa que compromete toda a diversão de um jogo: a jogabilidade!
Convidad- Convidado
Tópicos semelhantes
» Problema ao atirar
» Problema com: atirar na direção correta
» ir para a diagonal
» Pulo diagonal
» andar na diagonal
» Problema com: atirar na direção correta
» ir para a diagonal
» Pulo diagonal
» andar na diagonal
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos