Rpg Maker BRasil
RPG Maker Brasil - RMBR

Seja Bem vindo ao Forúm! Faça seu cadastro e desfrute sobre o mundo do RPG Maker!
P.S.: PARA MELHOR VIZUALIZAÇÃO DO FORUM SEM BUGS, RECOMENDO QUE USEM O MOZILLA FIREFOX OU O GOOGLE CHROME!
Rpg Maker BRasil

Evoluindo cada vez mais!


Você não está conectado. Conecte-se ou registre-se

Ver o tópico anterior Ver o tópico seguinte Ir em baixo  Mensagem [Página 1 de 1]

HenRyqUéè

avatar
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:
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.

http://rmbr.forumeiros.com/

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo  Mensagem [Página 1 de 1]

Permissão deste fórum:
Você não pode responder aos tópicos neste fórum