1 [Tutorial]Script de Texto Letra por Letra (POR JV JUSTINO) 20/11/11, 09:08 am
HenRyqUéè
Administrador
Avaliador
Helper
Nome: Script de texto letra por letra
Descrição: Ensinando passo a passo a fazer um texto letra por letra com um script
Nível: Intermediário
Requerimento: GM6, GM7, GM8 Lite ou Pro
Olá a todos!
Vou ensinar um modo simples de fazer o texto aparecer letra por letra
Vamos Começar!
Primeiro faça um script e chame-o de scr_message
Nele coloque isso:
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:
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!').
Se quiser mostrar mensagens múltiplas, coloque:
scr_message('Texto 1')
scr_message('Texto 2')
scr_message('Texto 3')
E este tutorial acaba aqui.
Espero que tenham gostado, aprendido e entendido!
さよぅなら!
Código feito por Yal, reitrado de sua engine de rpg, e editado por mim.
Descrição: Ensinando passo a passo a fazer um texto letra por letra com um script
Nível: Intermediário
Requerimento: GM6, GM7, GM8 Lite ou Pro
Olá a todos!
Vou ensinar um modo simples de fazer o texto aparecer letra por letra
Vamos Começar!
Primeiro faça um script e chame-o de scr_message
Nele coloque isso:
- Código:
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:
- 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!').
Se quiser mostrar mensagens múltiplas, coloque:
scr_message('Texto 1')
scr_message('Texto 2')
scr_message('Texto 3')
E este tutorial acaba aqui.
Espero que tenham gostado, aprendido e entendido!
さよぅなら!
Código feito por Yal, reitrado de sua engine de rpg, e editado por mim.