Resetar valor inserido

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

Resetar valor inserido

Mensagem por tha.sribeiro 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)

tha.sribeiro

Número de Mensagens : 14
Data de inscrição : 30/08/2014
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Resetar valor inserido

Mensagem por Ufrarion 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

Ufrarion

Número de Mensagens : 222
Data de inscrição : 06/06/2010
Reputação : 3
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Resetar valor inserido

Mensagem por Isaque Onix 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

Isaque Onix

Número de Mensagens : 1597
Idade : 23
Data de inscrição : 15/08/2010
Reputação : 147
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://spyreserver.16mb.com

Voltar ao Topo Ir em baixo

Re: Resetar valor inserido

Mensagem por tha.sribeiro 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

tha.sribeiro

Número de Mensagens : 14
Data de inscrição : 30/08/2014
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Resetar valor inserido

Mensagem por Isaque Onix em Sex 17 Out 2014, 14:50

eu estou aqui para ajudar, so explicar melhor oque voce quer...

Isaque Onix

Número de Mensagens : 1597
Idade : 23
Data de inscrição : 15/08/2010
Reputação : 147
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://spyreserver.16mb.com

Voltar ao Topo Ir em baixo

Re: Resetar valor inserido

Mensagem por tha.sribeiro 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...

tha.sribeiro

Número de Mensagens : 14
Data de inscrição : 30/08/2014
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Resetar valor inserido

Mensagem por Isaque Onix 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}

Isaque Onix

Número de Mensagens : 1597
Idade : 23
Data de inscrição : 15/08/2010
Reputação : 147
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://spyreserver.16mb.com

Voltar ao Topo Ir em baixo

Re: Resetar valor inserido

Mensagem por Conteúdo patrocinado Hoje à(s) 19:50


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