Página 1 de 1

É possível fazer um texto ficar trocando as letras?

Enviado: Qui Mai 26, 2022 9:54 pm
por fehantaro
Olá boa noite! Eu estou fazendo um projeto para fins de estudo e estava precisando de uma coisa. É possível no game maker eu fazer por código com que as letras de uma palavra fique mudando?

Exemplo como aparece nesse vídeo no youtube nos minutos 12:42

https://www.youtube.com/watch?v=g5s-iOuXUzM&t=557s[/youtube]

Re: É possível fazer um texto ficar trocando as letras?  Tópico resolvido

Enviado: Dom Jun 19, 2022 5:07 pm
por Jovane
Olá. Sim é possivél.
Acredito que esteja falando da parte do video em que as letras fica em um jogo da velha.

fiz um codigo bm basico pra você entender, se quiser.

Eu criei um objeto chamado "text".
mas se você quiser colocar em um objeto seu já criado, e ele tiver um sprite imbutido, lembre-se de colocar "draw_self". senão o objeto vai sumir.

Vamos ao codigo.

-----------------------
EVENTO CREATE:

char_ = ["?","H","E","L","P"];
//^^^ Essa aqui é a variavel que armazena todos os caractéres que vão aparecer.
array = 0;
//^^^ Essa aqui indica o codigo decada letra, por exemplo na primeira variavél, a 1º letra é "?"
// ? = 0; H = 1; E = 2; L = 3; P = 4; -- a primeiro sempre vai ser 0, e se tivesse mais uma letra seria 5;

// A seguir tem todas as variaveis dos caracteres. ( o "c" é de caracter );
// elas começam igual a o "char_" com a possição 0.
//ou seja todas vão começar no caracter "?".
c1 = char_[array];
c2 = char_[array];
c3 = char_[array];
c4 = char_[array];


troca = false;
//^^^ Essa daqui indica quando se deve trocar um caracter.


quemtroca = 0;
//^^^ Essa indica qual vai trocar (c1, c2, c3, c4)

alarm[1] = 20;
//^^^ aqui agente seta um alarme para a primeira troca;


randomize();
//^^^ é nescessario, mas não vou explicar o que ele faz por hora.


---------------------
EVENTO ALARM [ 1 ]:
troca = true;


--------------------
EVENTO STEP:
if troca { //<<< se a troca for = true.
quemtroca +=1 // <<< ele vai aumentar +1 na troca; // ou seja vai trocar 1 de cada vez.
//você pode mudar isso coolocando " quemtroca = choose(1,2,3,4) -- assim ele vai troca aleatoriamente.

array = choose(0,1,2,3,4); //<<< agora aqui ele vai escolher um caracter aleatorio entre ["?","H","E","L","P"];
//Você também pode mudar isso, fazendo ele escolher um caracter especifico a cada escolha.
//mas iria precisar de mais variavéis, se quiser que faça é só falar.



if quemtroca = 1 { //<<< se quem for trocar for o 1º caracter.
c1 = char_[array]; //<<< Ele muda pra uma das letras do "char_".
}

if quemtroca = 2 { //<<< se quem for trocar for o 2º caracter.
c2 = char_[array]; //<<< Ele muda pra uma das letras do "char_".
}

if quemtroca = 3 { //<<< se quem for trocar for o 3º caracter.
c3 = char_[array]; //<<< Ele muda pra uma das letras do "char_".
}

if quemtroca = 4 { //<<< se quem for trocar for o 4º caracter.
c4 = char_[array]; //<<< Ele muda pra uma das letras do "char_".
}

troca = false //<<< após trocar ele deixa como false e espera pra trocar de novo.
alarm[1] = 5 //<<< seta um alarme para a proxima troca quanto menor o numero mais rápido vai ser.
//eu achei 5 um número bom.
}

if quemtroca > 4 {quemtroca = 0} //<<< faz com que o valor da troca não passe de 4
// ^
// |
//OBS: caso tenha mais caracteres além de c1 c2 c3 c4, adicione mais um ao numero correspondente.


------------------
EVENTO DRAW:

draw_text(500, 500, c1+c2+c3+c4); // <<<< ESCREVE SEU TEXTO NA TELA



------------------------------------------
Pode testar, esse codigo troca letra por letra por um caracter a aleatório citado no create.

PRONTINHO, espero ter ajudado se tiver dúvida é só falar. Thau.