Conectar-se
Quem está conectado
7 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 7 Visitantes

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Data de inscrição : 29/12/2009
Número de Mensagens : 172
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Porque o seguinte código não funciona?

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)
avatar
Data de inscrição : 16/08/2008
Número de Mensagens : 374
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 3

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://isaiasramos.com

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

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;
avatar
Data de inscrição : 25/03/2010
Número de Mensagens : 666
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 2

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

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

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.
avatar
Data de inscrição : 29/12/2009
Número de Mensagens : 172
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

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

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)
Data de inscrição : 06/08/2009
Número de Mensagens : 569
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 5

Prêmios
   :
   :
   :
Ver perfil do usuário

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

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.
avatar
Data de inscrição : 29/12/2009
Número de Mensagens : 172
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

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

em Dom 16 Maio 2010, 18:00
eu sei mais quando eu coloquei sem o ord não funcionou!
Convidad
Convidado

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

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...
avatar
Data de inscrição : 29/12/2009
Número de Mensagens : 172
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

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

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

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

em Seg 17 Maio 2010, 02:02
Talvez seja bug... é estranho mesmo. Tenta usar o keyboard_check_direct() se não der...
avatar
Data de inscrição : 29/12/2009
Número de Mensagens : 172
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

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

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

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

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.
avatar
Data de inscrição : 29/12/2009
Número de Mensagens : 172
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

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

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)

?
Convidad
Convidado

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

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
avatar
Ranking : Sem avaliações
Data de inscrição : 08/06/2008
Número de Mensagens : 2314
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 100

Prêmios
   : 3
   : 0
   : 1
Ver perfil do usuáriohttp://blackcapapps.blogspot.com.br/

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

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.
avatar
Data de inscrição : 29/12/2009
Número de Mensagens : 172
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

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

em Ter 18 Maio 2010, 20:18
Atá!

Brigadão!

Uma duvida a menos Very Happy!
Ver o tópico anteriorVoltar ao TopoVer o tópico seguinte
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum