GMBR
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Entrar

Esqueci-me da senha

Últimos assuntos
» Problema ao entrar por uma porta e voltar por ela
por aminaro Seg 06 maio 2024, 10:08

» Alguém aqui já ganha dinheiro com seus games?
por theguitarmester Ter 30 Abr 2024, 11:43

» Colisões não funcionando
por theguitarmester Ter 30 Abr 2024, 10:16

» Como ajustar velocidade de cada frame da animação no game maker
por pequetux Sex 26 Abr 2024, 16:45

» Preciso de ajuda
por AftonDuGrau Dom 21 Abr 2024, 20:18

» Como faz o evento drawn GUI, não se repetir?
por aminaro Sex 19 Abr 2024, 20:30

» PROBLEMAS COM FÍSICAS DE ÁGUA
por aminaro Ter 16 Abr 2024, 10:07

» Retorno da GMBR!!!
por Ralphed Sex 12 Abr 2024, 22:45

» JOGADOR PARANDO NO AR QUANDO ATACA
por aminaro Qua 10 Abr 2024, 13:51

» Problemas com texto interativo
por Kaaru72 Dom 07 Abr 2024, 11:31

» Erro escondido e indecifrável
por dev_gabize.azv Qui 04 Abr 2024, 10:11

» Mudar cor de apenas uma palavra
por Ralphed Sáb 30 Mar 2024, 00:39

» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27

» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30

» Aceito pedidos de sprites (Com exemplos meus)
por Sevilha Qua 28 Fev 2024, 12:17

» Inventário simples
por Isquilo_Roedor Qui 22 Fev 2024, 15:18

» Problemas na programaçnao de inimigo [jogo DOOM LIKE]
por Black Mirror Dom 11 Fev 2024, 13:34

» ANDROID MULTI TOUCH
por DiegoBr Dom 04 Fev 2024, 12:13

» Servidor de Discord do fórum?
por Lighter Sáb 27 Jan 2024, 17:18

» Save e Load Json
por Klinton Rodrigues Qui 25 Jan 2024, 11:12

» Colisão com mais de um objeto
por aminaro Seg 22 Jan 2024, 15:02

» Oi sou novo aqui
por Thiago Silveira Alexandre Sáb 20 Jan 2024, 20:55

» Como acessar conteudo comprado no marketplace
por macmilam Sex 19 Jan 2024, 07:42

» Devlogs em vídeos do Block Room
por Joton Seg 15 Jan 2024, 16:56

» ACERVO GMBR MAGAZINE
por Joton Qui 11 Jan 2024, 19:21


como fazer parguntas e aceitar respostas escritas pelo player

2 participantes

Ir para baixo

como fazer parguntas e aceitar respostas escritas pelo player Empty como fazer parguntas e aceitar respostas escritas pelo player

Mensagem por Drax_G Qua 20 Jul 2022, 18:33

Olá, quero fazer um jogo onde o player tem o simples objetivo responder perguntas.
Ja vi algumas referencias porem geralmente cabe ao player escolher uma das opçoes ja dadas pelo jogo para passar a pergunta (como 2 botoes de sim ou não). Procuro saber se tem como fazer algo onde o player digite a resposta que ele quer, e o jogo detecte se esta certo ou errado.

vou citar um exemplo caso não deu pra entender:
o player tem que responder a pergunta "Cite um personagem de Star Wars" por exemplo, então o player digita um nome, e apenas se esse nome estiver no banco de palavras ele passa de fase.

Deu para compreender? Se alguem me puder ajudar falando uma ideia de comando que posso procurar mais a respeito de cada etapa, que saiba de um video que explique agradeço.
Drax_G
Drax_G

Games Ranking : Sem avaliações

Data de inscrição : 20/07/2022
Reputação : 0
Número de Mensagens : 1
Prêmios : como fazer parguntas e aceitar respostas escritas pelo player Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Y0hh gosta desta mensagem

Ir para o topo Ir para baixo

como fazer parguntas e aceitar respostas escritas pelo player Empty Re: como fazer parguntas e aceitar respostas escritas pelo player

Mensagem por Y0hh Ter 26 Jul 2022, 15:36

Olá Drax_G, é uma pena que você teve que esperar alguns dias, mas de qualquer forma, consegui fazer funcionar aqui, fiquei 2 dias e vou explicar como e como fazer.

Primeiro Passo:
- Primeiro você começa a criar um Sprite, esse Sprite você vai desenvolver ou pegar na internet, mas precisa ser um TextBox, de preferência se você não precisar fazer isso, e coloque qualquer nome, mas eu vou colocar aqui como S_T, depois disso você cria outro sprite, que é o sprite do Botão de Enviar, você vai ver daqui alguns textos a frente pra que ele serve, e vou colocar como S_O.

Segundo Passo:
- Crie uma fonte, você pode colocar qualquer nome, no meu caso eu coloco F_1, não esqueça de adicionar como características, qualquer dúvida sobre isso eu respondo.

Terceiro Passo:
- Você cria uma TextBox, na pasta "Objects", e coloca o seu Sprite, depois crie outro objecto chamado Enter, o que seria esse objeto? Pra quando você for digitar o Nome do Personagem do Star Wars, você clicar nesse botão para que é possível ver se ele é um Personagem de Star Wars ou não.
- Depois, você cria um objeto, chamado "Resposta", ele vai ser o Objeto que vai dá a resposta de se ele é um Personagem de Star Wars ou não.

Quarto Passo(Programação):
- O Objeto TextBox, você vai criar um Create, e vai colocar esse código:
Código:
// Variáveis
// Feito por Yori e Seb.
delete_timer = 2; // Fazer com que o texto seja apagável.
text = ""; // A variável para armazenar o texto para que seja possível digitar.
global.verification = "not"; // A variável que verifica se o nome do Personagem é de Star Wars.
// Termino.

- Como você pode ver, vai está explicando o que cada Variável faz e sua função.
- Depois você cria o Step e coloca esse código:
Código:
// Primeiro Passo
if(keyboard_check(vk_anykey) and string_length(text) < 20) { // Verificar se alguma tecla foi pressionadoe também o limite do texto.
    text = text+string(keyboard_string) // Texto.
    keyboard_string = "";
}
// Line 7 and 11 faz com o que verifique se a tecla de apagar foi apertada, se a tecla for apertada, apagar mensagem.
if(keyboard_check_pressed(vk_backspace)) {
    text = string_delete(text, string_length(text), 1);
    keyboard_string = "";
    delete_timer = -4;
}
// Lidar com a atualização do temporizador:
if(delete_timer != 2) {
    delete_timer ++;
}

// Banco De Dados de Nomes
// Explicação: Esse é o banco de dados, aonde armazena os nomes dos personagem de Star Wars
// Se você quiser, por opção, pode adicionar mais personagens.
if text = "Luke Skywalker" and global.verification = "not" {
    global.verification = "yes";
}
if text = "luke skywalker" and global.verification = "not" {
    global.verification = "yes";
}
if text = "Luke SkyWalker" and global.verification = "not" {
    global.verification = "yes";
}
if text = "Princesa Leia" and global.verification = "not" {
    global.verification = "yes";
}
if text = "princesa leia" and global.verification = "not" {
    global.verification = "yes";
}
if text = "Darth Vader" and global.verification = "not" {
    global.verification = "yes";
}
if text = "darth vader" and global.verification = "not" {
    global.verification = "yes";
}
if text = "R2-D2" and global.verification = "not" {
    global.verification = "yes";
}
if text = "r2-d2" and global.verification = "not" {
    global.verification = "yes";
}
// Termino.
- Depois, você cria o Draw e coloca esse código:
Código:
// Desenho.
draw_self(); // Desenhar a Caixa de Texto.
draw_set_color(c_white) // A cor do texto.
draw_set_halign(fa_center);
draw_set_valign(fa_middle);
// Line 4 and 5: O texto ficar no centro da tela.
draw_set_font(O_TB); // Fonte.
draw_text(x, y, text); // Desenhar o Texto.
draw_text(x, y-30, "Cite um personagem de Star Wars:"); // Desenhar o Texto Pergunta.
// Termino.

Quinto Passo(Programação):
- Agora iremos para o objeto Enter, que como eu expliquei alguns textos atrás, irá servir com que quando o personagem manda mensagem, a mensagem é enviada e o banco de dados verifica se ele é um personagem de star wars ou não é. Agora chega de atrasos explicando e vou mostrar o Script.
Código:
// Mouse Clicar no Botão
global.answer = O_TB.text; // Verificar a resposta.
room_goto_next(); // Ir para a cena da Resposta.
// Termino.

- Agora iremos desenhar essa função na tela, usando esse seguinte Script:
Código:
// Desenho.
draw_self(); // Desenhar o Botão.
draw_set_color(c_white) // A cor do texto.
draw_set_halign(fa_center);
draw_set_valign(fa_middle);
// Line 4 and 5: O texto ficar no centro da tela.
draw_set_font(O_TB); // Fonte.
draw_text(x, y, "Enviar"); // Desenhar o Texto.
// Termino.

Sexto Passo(Explicação + Programação):
- Agora iremos para a função o objeto Resposta, ele é bem simples, só vai desenhar na tela a resposta que ele adquiriu nos Scripts passado, começe criando um objeto "Draw":
Código:
// Desenho.
draw_set_color(c_white) // A cor do texto.
draw_set_halign(fa_center);
draw_set_valign(fa_middle);
// Line 4 and 5: O texto ficar no centro da tela.
draw_set_font(O_TB); // Fonte.
if global.verification = "yes" { // Esse Script irá dá a Resposta, se ele é um dos Personagem de Star Wars.
    draw_text(x, y, "O(a) Grande e Velho(a), " + global.answer); // Desenhar o Texto e a resposta.
}
if global.verification = "not" { // Esse Script irá dá a resposta, que ele não é um personagem de Star Wars.
    draw_text(x, y, "Você se confundiu, esse personagem não é de Star Wars"); // Desenhar o Texto e a resposta.
}
// Termino.

Último Passo(Explicação + Colocar no Jogo):
- Pronto, terminamos todos os Scripts, agora você vai criar duas salas(tela), uma vai ser o player preenchendo as informações, nessa primeira sala você vai colocar os objetos O_TB e o O_O, não esqueça de organizar Smile

- Na outra sala(tela), você só vai colocar o objeto O_A(que é o objeto de resposta), e pronto, quando terminar tudo, é só ser feliz e ver o Script funcionando, ele é código aberto, você pode alterar o jeito que quiser e como você quer, não necessariamente você precisa usar para isso, pode ser pra outras coisas, como criar uma I.A e etc. Espero que eu tenha ajudado.

Arquivo:
https://www.mediafire.com/file/8jukpt80bc2bsvi/T33762.gmz/file
- Estou disponibilizando esse arquivo pra caso dê algum erro, você use o arquivo como exemplo pra entender melhor.
Y0hh
Y0hh

Data de inscrição : 25/07/2022
Reputação : 8
Número de Mensagens : 13
Prêmios : como fazer parguntas e aceitar respostas escritas pelo player Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Plataformas :
  • Game Maker Studio 1.4
  • Unity
  • Javascript
  • Outros


Super Games, theguitarmester, Drax_G e Y0hh gostam desta mensagem

Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos