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
» player não consegue andar
por 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

Ir para baixo

PROBLEMA: movimentar para diagonal e atirar (ao mesmo tempo) Empty PROBLEMA: movimentar para diagonal e atirar (ao mesmo tempo)

Mensagem por maurozb Sex 22 Ago 2008, 10:23

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):

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
maurozb

Data de inscrição : 02/07/2008
Reputação : 0
Número de Mensagens : 21
Prêmios : PROBLEMA: movimentar para diagonal e atirar (ao mesmo tempo) 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

PROBLEMA: movimentar para diagonal e atirar (ao mesmo tempo) Empty Re: PROBLEMA: movimentar para diagonal e atirar (ao mesmo tempo)

Mensagem por maurozb Sex 22 Ago 2008, 10:45

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!
maurozb
maurozb

Data de inscrição : 02/07/2008
Reputação : 0
Número de Mensagens : 21
Prêmios : PROBLEMA: movimentar para diagonal e atirar (ao mesmo tempo) 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

PROBLEMA: movimentar para diagonal e atirar (ao mesmo tempo) Empty Re: PROBLEMA: movimentar para diagonal e atirar (ao mesmo tempo)

Mensagem por Convidad Sex 22 Ago 2008, 22:54

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!!!
avatar
Convidad
Convidado


Ir para o topo Ir para baixo

PROBLEMA: movimentar para diagonal e atirar (ao mesmo tempo) Empty Re: PROBLEMA: movimentar para diagonal e atirar (ao mesmo tempo)

Mensagem por Kabeção Sáb 23 Ago 2008, 08:43

Boa brendan.
Essa de mudar a chave de registro vai ser bem útil.
Kabeção
Kabeção

Games Ranking : Sem avaliações

Data de inscrição : 08/06/2008
Reputação : 100
Número de Mensagens : 2314
Prêmios : PROBLEMA: movimentar para diagonal e atirar (ao mesmo tempo) Empty

Medalhas x 0 Tutoriais x 7 Moedas x 0

Ouro x 3 Prata x 0 Bronze x 1

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

http://blackcapapps.blogspot.com.br/

Ir para o topo Ir para baixo

PROBLEMA: movimentar para diagonal e atirar (ao mesmo tempo) Empty Re: PROBLEMA: movimentar para diagonal e atirar (ao mesmo tempo)

Mensagem por maurozb Sáb 23 Ago 2008, 09:11

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!
maurozb
maurozb

Data de inscrição : 02/07/2008
Reputação : 0
Número de Mensagens : 21
Prêmios : PROBLEMA: movimentar para diagonal e atirar (ao mesmo tempo) 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

PROBLEMA: movimentar para diagonal e atirar (ao mesmo tempo) Empty Re: PROBLEMA: movimentar para diagonal e atirar (ao mesmo tempo)

Mensagem por Convidad Sáb 23 Ago 2008, 16:19

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!
avatar
Convidad
Convidado


Ir para o topo Ir para baixo

PROBLEMA: movimentar para diagonal e atirar (ao mesmo tempo) Empty Re: PROBLEMA: movimentar para diagonal e atirar (ao mesmo tempo)

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