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

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Data de inscrição : 30/08/2014
Número de Mensagens : 14
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Ver perfil do usuário

Resetar valor inserido

em Qua 15 Out 2014, 20:11
Gente, pra resumir: recebo um valor do usuário que determina uma ação. Depois, destruo o objeto que recebe isso e conforme o jogo acontece, crio ele de novo. Mas aí ele só entende o valor inserido antes, a unica forma de continuar é apagando o valor 'manualmente' com a backspace... Tem alguma forma de apagar esse valor automaticamente? (Se for uma pergunta idiota não me julguem Very Happy )

 
Código:
 if(string_length(escolhe_fala1)<20){
        escolhe_fala1 = keyboard_string;
        }
    
    else if(keyboard_check_pressed(vk_backspace)){
        strTemp = string_delete(escolhe_fala1, 20, 1);
        escolhe_fala1 = strTemp;
        }
  
    //draw_text(x,y, escolhe_fala1)
avatar
Data de inscrição : 06/06/2010
Número de Mensagens : 222
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Ver perfil do usuário

Re: Resetar valor inserido

em Sex 17 Out 2014, 00:29
Boa noite!

Vamos ver se eu entendi, você quer "zerar" o keyboard_string sem ter que pressionar a tecla backspace? Se for isso basta você usar esse code:

Código:
keyboard_string=""

Como keyboard_string é uma variável ela pode assumir qualquer valor, a qualquer momento, somente tem que atribuir um novo valor a ela.

Atenciosamente,

Ufrarion
avatar
Data de inscrição : 15/08/2010
Número de Mensagens : 1597
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://spyreserver.16mb.com

Re: Resetar valor inserido

em Sex 17 Out 2014, 00:52
bom, acredito que voce nao queira simplesmente apagar o keyboard string, eu intendi de 2 formas:
1:
Código:
if(string_length(escolhe_fala1)<20){
        escolhe_fala1 += keyboard_string keyboard_string='';
        }
   
    else if(keyboard_check_pressed(vk_backspace)){
        strTemp = string_delete(escolhe_fala1, 20, 1);
        escolhe_fala1 = strTemp;
        }
e a outra forma, seria (um exemplo)
Código:
text_max_width=32//define a quantidade maxima de letras
if(string_length(escolhe_fala1)>=text_max_width){keyboard_string=''}

nao intendi 100% mais tente formular melhor suas perguntas Razz Razz flwzz
avatar
Data de inscrição : 30/08/2014
Número de Mensagens : 14
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Ver perfil do usuário

Re: Resetar valor inserido

em Sex 17 Out 2014, 14:35
Oi gente, eu já havia tentando zerar a variável passando um valor vazio antes, mas não deu :/
Tentei novamente dos dois modos que você colocaram aqui, mas continuo com o mesmo problema.
Acho que vou tentar fazer com que ele considere o ultimo valor inserido, assim tanto faz se não zerar os valores anteriores. Pensei em fazer isso com um vetor, espero que de certo (e aceito sugestões haha). Muito obrigada Smile
avatar
Data de inscrição : 15/08/2010
Número de Mensagens : 1597
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://spyreserver.16mb.com

Re: Resetar valor inserido

em Sex 17 Out 2014, 14:50
eu estou aqui para ajudar, so explicar melhor oque voce quer...
avatar
Data de inscrição : 30/08/2014
Número de Mensagens : 14
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Ver perfil do usuário

Re: Resetar valor inserido

em Sex 17 Out 2014, 15:00
@Isaque Onix escreveu:eu estou aqui para ajudar, so explicar melhor oque voce quer...

Vou tentar explicar melhor:
Eu exibo uma lista com 5 opções de dialogo, e o usuário escolhe com um numero, de 1 a 5, qual ele deseja.
Aí esse valor é verificado em um if (em outro objeto) que exibe a resposta correspondente. Quando eu crio a resposta, crio também 'botões' que o usuário pode optar por continuar o dialogo ou não. Quando ele opta por continuar, exibo novamente a lista com opções de dialogo. Mas aí o Game Maker considera o numero que o usuário digitou anteriormente.
Já tentei desativar o objeto que recebe o valor e pedir para outro objeto ativar ele, destruir e criar novamente (nos dois casos passando valor vazio para a variável), mas não funciona...
avatar
Data de inscrição : 15/08/2010
Número de Mensagens : 1597
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://spyreserver.16mb.com

Re: Resetar valor inserido

em Sex 17 Out 2014, 15:33
bom ao que intendi, voce tem que esvaziar a variavel com a resposta do player (o numero de 1 a 5) se voce quiser, posso tentar arrumar pra vc, mais vai ter q enviar sua engine para eu ver onde esta o erro (se nao for oque eu disse...)
ou voce pode tentar tambem destruir os objetos com as respostas e recria-los usando os proprios objetos...
ou, ate mesmo, criar um outro sistema...

[edit]
burrice minha. voce disse que tem um outro objeto que checa com um if()
tente colocar assim neste objeto:

Código:
if(variavel=-1){exit}//antes do tal do if, variavel e o nome da variavel que armazena a resposta do player para checar
ou
Código:
if(seucodigo && variavel!=-1){açao}
e quando o player escolher a resposta, voce modifica o valor rapidamente

ex: (aqui, a escolha foi a resposta 3)

Código:
if(keyboard_check(ord('3'))){variavel=3}
if(keyboard_check_released(ord('3'))){variavel=-1}
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