??movimento??

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

??movimento??

Mensagem por Gusba em Qui 02 Out 2008, 18:29

fiz um esquema assim:

ele pede uma tecla, tipo:

global.cima=get_string('qual tecla vc deseja........)

e no evento step te um esquema assim

if keyboard_check(global.cima) {y-=5}

mas nao funciona, alguem sabe porque?

Gusba

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

http://www.ciganospictures.hd1.com.br

Voltar ao Topo Ir em baixo

Re: ??movimento??

Mensagem por Janx em Qui 02 Out 2008, 19:05

a tecla que vc por deve ser em maiusculo ex:
A
mas se for uma outra tecla tipo as setas ai ja tem que por vk_left (esquerda)

Janx

Número de Mensagens : 2417
Idade : 23
Data de inscrição : 24/05/2008
Reputação : 14
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 2
   : 0

Voltar ao Topo Ir em baixo

Re: ??movimento??

Mensagem por Froidz em Qui 02 Out 2008, 19:07

sim, eu sei.
Pois a variável global.cima está sendo direcionada para o get_string, ou seja, uma string.
Sendo que, controles do teclado não são strings.

Você poderia usar variáveis para as teclas, por exemplo, no Create:

Código:
global.b_cima="" //A variável de cima
cima=vk_up
baixo=vk_down
direita=vk_right
esquerda=vk_left
//Etc...

E então, ao invés de colocar só o 'global.cima=get_string(...)', coloque:

Código:
global.cima=get_string("Digite a tecla de movimento para cima:",global.b_cima)
execute_string(global.b_cima)

Bom, caso queira fazer um sistema de seleção de controles, sugiro outro método, pois este é muito limitado.

Vlw^^

Froidz

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

Voltar ao Topo Ir em baixo

Re: ??movimento??

Mensagem por Janx em Qui 02 Out 2008, 19:09

Claudio Bruno escreveu:sim, eu sei.
Pois a variável global.cima está sendo direcionada para o get_string, ou seja, uma string.
Sendo que, controles do teclado não são strings.

Você poderia usar variáveis para as teclas, por exemplo, no Create:

Código:
global.b_cima="" //A variável de cima
cima=vk_up
baixo=vk_down
direita=vk_right
esquerda=vk_left
//Etc...

E então, ao invés de colocar só o 'global.cima=get_string(...)', coloque:

Código:
global.cima=get_string("Digite a tecla de movimento para cima:",global.b_cima)
execute_string(global.b_cima)

Bom, caso queira fazer um sistema de seleção de controles, sugiro outro método, pois este é muito limitado.

Vlw^^

ou se é para fazer a string virar valor é so usar:
global.cima = real(global.cima)

Janx

Número de Mensagens : 2417
Idade : 23
Data de inscrição : 24/05/2008
Reputação : 14
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 2
   : 0

Voltar ao Topo Ir em baixo

Re: ??movimento??

Mensagem por Gusba em Qui 02 Out 2008, 19:10

hm...........
vlw janx agora sim!

Gusba

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

http://www.ciganospictures.hd1.com.br

Voltar ao Topo Ir em baixo

Re: ??movimento??

Mensagem por Froidz em Qui 02 Out 2008, 19:11

Legal, não sabia que dava pra fazer isso oO

Froidz

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

Voltar ao Topo Ir em baixo

Re: ??movimento??

Mensagem por Kabeção em Qui 02 Out 2008, 21:18

Isso deu certo mesmo?
Por que não vi vocês usando ord() para voltar o valor da tecla que o jogador usou.

Se global.cima é uma letra, isso aqui daria erro:
Código:
global.cima = real(global.cima)
Como você vai transformar uma letra em número assim? Suspect

E você não deve usar get_string para isso.
E se o jogador digitar mais de um letra?
Daria um erro facilmente.

É melhor usar a variavel keyboard_lastkey que retorna o valor da última tecla apertada.
Assim você grava o valor de keyboard_lastkey em global.cima.
Código:
if escolher_uma_letra=true
{
    global.cima=keyboard_lastkey
}
if keyboard_check(global.cima)
{
    ...........
}

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

Re: ??movimento??

Mensagem por Froidz em Qui 02 Out 2008, 21:47

era esse o método menos limitado, usando o keyboard_lastkey.
Mas como ele havia pedido naquele modo, fiz daquele modo mesmo.

No exemplo que fiz, ele cria as variáveis cima,baixo,direita e esquerda, direcionando para os comandos do gm que são essas teclas (vk_up,vk_down,vk_right e vk_left), e o global.b_cima é a variável da caixa de controle das teclas, que é executada, e se digitar o nome de alguma das variáveis direcionadas para os valores das teclas do game maker, será executada essa ação. Ou seja, caso digite na caixa 'cima', o controle será para cima, e assim vai, esse realmente é um sistema complicado e limitado, pois seriam feitas variáveis para cada tecla do teclado.

Froidz

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

Voltar ao Topo Ir em baixo

Re: ??movimento??

Mensagem por Conteúdo patrocinado Hoje à(s) 21:56


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