Porque o seguinte código não funciona?

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

Resolvido Porque o seguinte código não funciona?

Mensagem por douglaslds em Dom 16 Maio 2010, 15:52

Olá pessoal eu estava testando uns códigos no GM 8 e um deles não funcionou.
Eu pensei então em simplificar ao máximo o código(só para testes) e não funcionou!

O código é esse(simplificado):

No STEP:

Código:
if keyboard_check(vk_backspace) {vspeed=-5}

Porque esse código não funciona?

Editado por CyraxX: Topico resolvido.
Trancado.
Se o autor quiser reabrir o tópico envie MP para algum administrador ou moderador.


Última edição por douglaslds em Dom 16 Maio 2010, 16:52, editado 1 vez(es)

douglaslds

Número de Mensagens : 172
Idade : 21
Data de inscrição : 29/12/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: Porque o seguinte código não funciona?

Mensagem por Isaias em Dom 16 Maio 2010, 16:19

simplesmente porque vk_keyboard não existe .. caso queira deixar simplificado, use:
Código:

  if keyboard_check(vk_left) vspeed=-5;

Isaias

Número de Mensagens : 374
Idade : 23
Data de inscrição : 16/08/2008
Reputação : 3
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: Porque o seguinte código não funciona?

Mensagem por victor_aco em Dom 16 Maio 2010, 16:20

É porque voce tem que substituir a palavra keyboard que está dentro dos parenteses pela tecla que voce quer checar se está pressionada.

victor_aco

Número de Mensagens : 666
Idade : 21
Data de inscrição : 25/03/2010
Reputação : 2
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: Porque o seguinte código não funciona?

Mensagem por douglaslds em Dom 16 Maio 2010, 16:52

Ops! Foi mal! na verdade é Backspace(já dei um edit)

EDIT

eu coloquei

Código:
if keyboard_check(ord(vk_backspace)) {vspeed=-4}

e deu certo!


Última edição por douglaslds em Dom 16 Maio 2010, 23:58, editado 1 vez(es)

douglaslds

Número de Mensagens : 172
Idade : 21
Data de inscrição : 29/12/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: Porque o seguinte código não funciona?

Mensagem por RodrigoM. em Dom 16 Maio 2010, 17:54

douglaslds escreveu:Ops! Foi mal! na verdade é Backspace(já dei um edit)

EDIT

Foi um erro meu, eu coloquei

Código:
if keyboard_check(ord(vk_backspace)) {vspeed=-4}

e deu certo!

ord só se usa quando é apenas uma letra:
Exemplo:
if keyboard_check(ord("A")) then vspeed=-4;

ou no seu caso:

if keyboard_check(vk_backspace) then vspeed=-4;

Até mais.

Rodrigo M.

RodrigoM.

Número de Mensagens : 569
Idade : 21
Data de inscrição : 06/08/2009
Reputação : 5
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Resolvido Re: Porque o seguinte código não funciona?

Mensagem por douglaslds em Dom 16 Maio 2010, 18:00

eu sei mais quando eu coloquei sem o ord não funcionou!

douglaslds

Número de Mensagens : 172
Idade : 21
Data de inscrição : 29/12/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: Porque o seguinte código não funciona?

Mensagem por Convidad em Dom 16 Maio 2010, 20:17

Estranho... não vejo motivo pra não ter funcionado... talvez seja outra coisa no código, sei lá, tipo uma condição que aponte para essa linha...

Convidad
Convidado


Voltar ao Topo Ir em baixo

Resolvido Re: Porque o seguinte código não funciona?

Mensagem por douglaslds em Dom 16 Maio 2010, 23:58

Então eu tbm achei estranho, eu tentei mudar outras coisas e não deu certo!(talvez um bug?)

Então eu fiz pelo tradicional "Add Event" -> Keyboard .. etc e funcionou!

douglaslds

Número de Mensagens : 172
Idade : 21
Data de inscrição : 29/12/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: Porque o seguinte código não funciona?

Mensagem por Convidad em Seg 17 Maio 2010, 02:02

Talvez seja bug... é estranho mesmo. Tenta usar o keyboard_check_direct() se não der...

Convidad
Convidado


Voltar ao Topo Ir em baixo

Resolvido Re: Porque o seguinte código não funciona?

Mensagem por douglaslds em Seg 17 Maio 2010, 11:03

Eu tentei e tbm não deu certo!

Eu abri de novo o game maker só para testar esse código!

Eu criei um cubo e coloquei o código no Step dele:

Código:
if keyboard_check(vk_backspace){vspeed=-4}

//coloquei tbm depois de testar o primeiro esse

if keyboard_check_direct(vk_backspace){vspeed=-4}

e não deu certo o.0

douglaslds

Número de Mensagens : 172
Idade : 21
Data de inscrição : 29/12/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: Porque o seguinte código não funciona?

Mensagem por Convidad em Seg 17 Maio 2010, 21:09

Eu sei que vai parecer estranho. Mas já aconteceu um bug comigo em relação ao modo de se digitar o código. Eu até tenho o projeto salvo, não tem como negar que é bug. Se for isso mesmo, digita a linha assim:

Código:
if keyboard_check(vk_backspace) then vspeed = (-4):

Ou então dá um enter e "desce" o código em uma linha.

Convidad
Convidado


Voltar ao Topo Ir em baixo

Resolvido Re: Porque o seguinte código não funciona?

Mensagem por douglaslds em Seg 17 Maio 2010, 21:17

Pois é, deve ser um bug mesmo!

Eu coloquei o código aqui do jeito q vc disse e num funfou ñ!

Mas num se preocupa não pois eu já resolvi o problema!Very Happy

vlw!

EDIT




qual a diferença entre:

Código:
if keyboard_check_direct(tecla)

e

Código:
if keyboard_check(tecla)

?

douglaslds

Número de Mensagens : 172
Idade : 21
Data de inscrição : 29/12/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: Porque o seguinte código não funciona?

Mensagem por Convidad em Ter 18 Maio 2010, 19:50

O keyboard_check_direct() testa o estado da tecla mesmo se a janela do jogo não estiver ativa. Também acho que ele testa a tecla diretamente no hardware, ou seja, não dá pra usar por exemplo, um teclado virtual. Mas eu não tenho certeza. Smile

Convidad
Convidado


Voltar ao Topo Ir em baixo

Resolvido Re: Porque o seguinte código não funciona?

Mensagem por Kabeção em Ter 18 Maio 2010, 20:01

Capitão Commando escreveu:O keyboard_check_direct() testa o estado da tecla mesmo se a janela do jogo não estiver ativa. Também acho que ele testa a tecla diretamente no hardware, ou seja, não dá pra usar por exemplo, um teclado virtual. Mas eu não tenho certeza. Smile
Assim você pode criar, por exemplo, atalhos para minimizar ou maximizar o jogo mesmo que esteja usando outro programa.

Kabeção

Ranking : Sem avaliações
Número de Mensagens : 2314
Data de inscrição : 08/06/2008
Reputação : 100
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 3
   : 0
   : 1

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

Voltar ao Topo Ir em baixo

Resolvido Re: Porque o seguinte código não funciona?

Mensagem por douglaslds em Ter 18 Maio 2010, 20:18

Atá!

Brigadão!

Uma duvida a menos Very Happy!

douglaslds

Número de Mensagens : 172
Idade : 21
Data de inscrição : 29/12/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: Porque o seguinte código não funciona?

Mensagem por Conteúdo patrocinado Hoje à(s) 13:48


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