Entrar
Ú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
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
» como atirar e andar ao mesmo tempo?
» Pergunta Boba-Tempo de espera para atirar
» Movimentar mesmo em colisão (top-down)
» Quero que o inimigo se movimente para Esquerda e para cima, não para a diagonal.
» [resolvido]Como fazer o mesmo objeto ir para o mesmo local com caminhos diferentes?
» Pergunta Boba-Tempo de espera para atirar
» Movimentar mesmo em colisão (top-down)
» Quero que o inimigo se movimente para Esquerda e para cima, não para a diagonal.
» [resolvido]Como fazer o mesmo objeto ir para o mesmo local com caminhos diferentes?
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos