Comunidad Game Maker

Ayuda => Desarrollo de Scripts => Mensaje iniciado por: rpgamer97 en Octubre 26, 2017, 03:59:05 pm

Título: Texto que se crea poco a poco
Publicado por: rpgamer97 en Octubre 26, 2017, 03:59:05 pm
Buenas gente, luego que @3dgeminis
                 
  • 3dgeminis

             
  • Okupa
  • Este no es el fin, es un nuevo comienzo...
       
Sexo: Mensajes: 1850
Age: - Ubicación: Uruguay

 
en su buen corazón me ayudará a terminarlo
Por fin tengo un código muy bueno para que en la caja de texto el párrafo aparezca letra por letra
Como siempre lo que yo pueda aportar va mas dirigido a los novatos porque los que ya llevan tiempo habrán desarrollado sus propios métodos pero igual a quien le sirva y espero si haya alguien es suyo
Antes que nada diré que para los texto es con un arreglo que se coloca en el creation code del objeto que tenga el código, además el texto esta enfocado a un evento llamado obj_Prota que seria el protagonista, y que en el evento draw GUI tiene un sprite llamado spr_HUD_Texto, que seria la caja de texto, todo esto lo digo para que lo ajusten a su conveniencia, como dije esto va enfocado mas a novatos que profesionales

PD: si lees esto @kostra
                 
  • kostra

             
  • Okupa
  • Sé literalmente el sentido de la vida.
       
Sexo: Femenino Mensajes: 1985
Age: 28 Ubicación: Aquí

 
recuerda darme un gracias así nolo copies

Código: [Seleccionar]
Evento Create
pagina = 0              //Contador de pagina actual
paginas[0] = ""         //arreglo de paginas
mostrar = false         //mostrar cartel por defecto
pagina = -1             //pagina actual, -1 = inactivo
i = 0

Código: [Seleccionar]
En el Evento Alarm[0]
if(distance_to_object(obj_Prota)<3){
            if i < string_length(paginas[pagina]){
                i++
            alarm[0] = 4
            }
}

Código: [Seleccionar]
En el evento Step
Step Codigo 1
///Controlar si el jugador abre el cartel
if (keyboard_check_pressed(ord("Z")) and distance_to_object(obj_Prota)<3){
mostrar = true}

//Si se aleja cerramos el cartel y reiniciamos
if(distance_to_object(obj_Prota)>3){mostrar = false; pagina = -1}
Step Codigo 2
///Comprobar si el jugador pasa la pagina
if(keyboard_check_pressed(ord("Z"))and mostrar){
//Pasar pagina
if(pagina+1 < array_length_1d(paginas)){ pagina++;alarm[0]=4
for(i=0;i>=string_length(paginas[pagina]);i=0){}
if(paginas[pagina] >= string_length(paginas[pagina])){}
}
else{
    //Si nos pasamos el maximo reiniciamos el cartel
    mostrar = false
    pagina = -1
    }
}

Código: [Seleccionar]
Evento Draw GUI
///Comprobar si el jugador esta cerca
if(mostrar){
    draw_sprite(spr_HUD_Texto,0,0,31)
    draw_set_font(f_Texto)
    draw_set_halign(fa_left)
    copia = string_copy(paginas[pagina],1,i)
    draw_set_color(c_black)
    draw_text(34,37,copia)
    draw_set_color(c_white)
    draw_text(33,36,copia)   
}
Título: Re:Texto que se crea poco a poco
Publicado por: Markus en Noviembre 17, 2017, 12:31:33 pm
Yo lo modificaría un poco.

Evento Create
pagina = -1              //Contador de pagina actual, -1 = inactivo
paginas[0] = ""         //arreglo de paginas
mostrar = false         //mostrar cartel por defecto
i = 0

En el Evento Alarm[0]
if(mostrar){
            if i < string_length(paginas[pagina]){
                i++
            alarm[0] = 4
            }
}

En el evento Step
Step Codigo 1
///Controlar si el jugador abre el cartel
if (mostrar){
//Si se aleja cerramos el cartel y reiniciamos
if(distance_to_object(obj_Prota)>3){mostrar = false; pagina = -1}
}
else {
if (keyboard_check_pressed(ord("Z")) and distance_to_object(obj_Prota)<3){
mostrar = true}
}
Step Codigo 2
///Comprobar si el jugador pasa la pagina 
if(keyboard_check_pressed(ord("Z"))and mostrar){
//Pasar pagina
if(pagina+1 < array_length_1d(paginas)){ pagina++;alarm[0]=4
else{
    //Si nos pasamos el maximo reiniciamos el cartel
    mostrar = false
    pagina = -1
    }
}
Evento Draw GUI
///Comprobar si el jugador esta cerca
if(mostrar){
    draw_sprite(spr_HUD_Texto,0,0,31)
    draw_set_font(f_Texto)
    draw_set_halign(fa_left)
    copia = string_copy(paginas[pagina],1,i)
    draw_set_color(c_black)
    draw_text(34,37,copia)
    draw_set_color(c_white)
    draw_text(33,36,copia)  
}
Título: Re:Texto que se crea poco a poco
Publicado por: somnus en Agosto 05, 2018, 05:29:48 am
se que es tarde pero no habia visto este script, podrias ponerlo con la plantilla que debe, se me hace un poco raro verlo asi.