Nome: Script de texto letra por letra
Blogueiro: JV Justino
Descrissao: Ensinando passo a passo a fazer um texto letra por letra com um script
Versao: Lite e Pro
Foto(s): Nao necessario (resultado final é um texto que vai sendo digitado na tela)
Tutorial:
Primeiro faça um script e chame-o de scr_message
Nele coloque isso:
var str,char;
str='' ;
char=0;
draw_set_font(font_message);
draw_set_color(c_black);
draw_sprite(spr_messagebox,0,x,y);
while char<=string_length(argument0)
{
str=string_copy(argument0,0,char);
draw_text(x,y,string(str));
char+=1
screen_refresh();
sleep(20);
}
screen_refresh();
keyboard_wait();
screen_redraw();
Explicando o código:
var str,char;
Define as variáveis que usaremos no código
str=' ';
É a variável que é copia o texto do argument0
char=0;
É a variável que define o caractere que sera copiado por vez
draw_set_font(font_message);
Define a fonte usada no texto(troque "font_message" pelo nome da fonte desejada)
draw_set_color(c_black);
Define a cor usada no texto(troque "c_black" pelo nome da cor desejada)
draw_sprite(spr_messagebox,0,x,y);
Desenha a sprite da caixa de mensagem. Você também pode usar um background, usar a função "draw_rectangle" ou não fazer nada disso e deixar o texto sozinho no meio do nada. Troque 'x' e 'y' pela posição desejada
while char<=string_length(argument0);
Enquanto char(o caractere atual) for menor ou igual o número de caracteres do texto do argument0
str=string_copy(argument0,0,spd);
A variável "str" copia os caracteres do argument0 a de 0 até o valor da variável "char"
draw_text(x,y,string(str));
Desenha o texto armazenado na variável "str". Troque 'x' e 'y' pela posição desejada.
char+=1;
Aumenta o número de caracteres a serem copiados.
screen_refresh();
sleep(20)
}
Deixa a imagem da tela congelada e espera 20 milliseconds para realizar o processo novamente.
Este valor pode ser alterado caso queira que as letras apareçam mais rápidamente ou mais demoradamente. Aqui acaba os procedimentos do texto.
Agora as ações que ocorrem após todo o texto ser copiado.
screen_refresh();
Deixa a imagem da tela congelada.
keyboard_wait();
screen_redraw();
Espera que alguma tecla seja pressionada* e redesenha a tela.
*Se deseja que apenas uma específica tecla seja pressionada, apague as três últimas funções e no lugar coloque scr_freeze ou seja, irá chamar um script que faremos agora. Como dito antes, seu nome deve ser scr_freeze.
Nele coloque o seguinte código:
screen_refresh();
keyboard_wait();
if keyboard_lastkey=vk_enter
screen_redraw();
else
scr_freeze();
Explicando o código:
screen_refresh();
keyboard_wait();
Esses você já deve conhecer. Congela a imagem da tela e espera alguma tecla ser pressionada. Mas como queremos uma tecla específica(Vamos usar "enter") fazemos o seguinte:
if keyboard_lastkey=vk_enter
screen_redraw();
Se a tecla enter for pressionada redesenha a tela.
else scr_freeze();
Se outra tecla for pressionada executa novamente esse script até que a tecla enter seja pressionada.
Para usar o scripts, basta colocar scr_message('Coloque aqui o texto que desejar!').
E este tutorial acaba aqui. ahh...
Espero que tenham gostado, aprendido e entendido!
Uma coisa que esqueci de dizer é que se quiser mostrar mensagens múltiplas, simplismente
coloque:
scr_message('Texto 1')
scr_message('Texto 2')
scr_message('Texto 3')
Simples não é mesmo?
Creditos: Código feito por Yal, reitrado de sua engine de rpg, e editado por mim.
Nenhum comentário:
Postar um comentário