¿Alguien sabe como hacer textos que se vayan mostrando letra por letra de manera eficiente? Lo he intentado de varias maneras, pero ninguna me ha dado resultado. Gracias de antemano.
A ver, trabaja sobre una base, necesitas: -Una variable con la longitud del texto o string.len(texto); -Una variable para el tiempo que tarda en mostrarse letra por letra. -Un bucle de dibujado.
texto = "Mostrando letra a letra"; tiempo = 10; --10 frames por letra... letraactual = 1; -- empezamos en primera letra... letrafinal = string.len(texto); --longitud de la cadena
while letraactual <= letrafinal do -- Coger del texto, desde caracter 1 hasta la letra actual... textoparamostrar = string.sub(texto,1,letraactual);
drawbg... -- dibujar fondo, pon tu fondo o lo que sea aqui... drawtext(.x,y.texto..) -- dibujar texto.. con la funcion que uses...
flip... -- mostrar...
tiempo = tiempo - 1; -- ir descontando tiempo if tiempo <= 0 then tiempo = 100; letraactual = letraactual + 1; end -- Al fin del tiempo, sumar uno a letra actual...
end
Es una base... y esta función bien escrita devolverá:
M Mo Mos Most Mostr...
Así, pero en la misma linea, y parecerá que se está escribiendo...
Gracias! tiene buena pinta, pero cuando el player lee drawtext me lo devuelve como nil value. Soy algo nuevo con esto, pero si no me equivoco es quizá por el hecho de que yo use HM 7, y drawtext es una orden de versiones posteriores. Debe existir algun equivalente en hm7, no?
las funciones drawbg y drawtext , no existen, es para que tú pongas tu comando actual de dibujado de texto, pq existen varios según el luaplayer que utilizes... y drawbg igual, cambialo por los comandos de dibujado del fondo, si usas bucles, si no usas bucles, elimina el esa parte del fondo y ya está.
y drawtext pues según el luaplayer que uses, busca manuales o mira el readme del luaplayer para ver la funcion para poner texto.
Lo que quiero hacer es un script en LUA que cumpla la siguiente función: Un diálogo en un videojuego en el cuál el texto dicho por cada personaje vaya apareciendo poco a poco, es decir, letra a letra con un cierto intervalo de tiempo.
EDITADO: El uso de palabras inadecuadas no está permitido. Por favor, revise las normas de la comunidad. Gracias Ðark_Ðragøn-ßlack
base:
A ver, trabaja sobre una base, necesitas:
-Una variable con la longitud del texto o string.len(texto);
-Una variable para el tiempo que tarda en mostrarse letra por letra.
-Un bucle de dibujado.
texto = "Mostrando letra a letra";
tiempo = 10; --10 frames por letra...
letraactual = 1; -- empezamos en primera letra...
letrafinal = string.len(texto); --longitud de la cadena
while letraactual <= letrafinal do
-- Coger del texto, desde caracter 1 hasta la letra actual...
textoparamostrar = string.sub(texto,1,letraactual);
drawbg... -- dibujar fondo, pon tu fondo o lo que sea aqui...
drawtext(.x,y.texto..) -- dibujar texto.. con la funcion que uses...
flip... -- mostrar...
tiempo = tiempo - 1; -- ir descontando tiempo
if tiempo <= 0 then tiempo = 100; letraactual = letraactual + 1; end
-- Al fin del tiempo, sumar uno a letra actual...
end
Es una base... y esta función bien escrita devolverá:
M
Mo
Mos
Most
Mostr...
Así, pero en la misma linea, y parecerá que se está escribiendo...
Saludos...
Actualmente desarrollando nuestra web y UXCode : http://www.gcrew.es
Gracias! tiene buena pinta,
Gracias! tiene buena pinta, pero cuando el player lee drawtext me lo devuelve como nil value. Soy algo nuevo con esto, pero si no me equivoco es quizá por el hecho de que yo use HM 7, y drawtext es una orden de versiones posteriores. Debe existir algun equivalente en hm7, no?
es k no existe.. xD
las funciones drawbg y drawtext , no existen, es para que tú pongas tu comando actual de dibujado de texto, pq existen varios según el luaplayer que utilizes... y drawbg igual, cambialo por los comandos de dibujado del fondo, si usas bucles, si no usas bucles, elimina el esa parte del fondo y ya está.
y drawtext pues según el luaplayer que uses, busca manuales o mira el readme del luaplayer para ver la funcion para poner texto.
Actualmente desarrollando nuestra web y UXCode : http://www.gcrew.es
Muchas Gracias!!!! Tras
Muchas Gracias!!!! Tras trastear un poco con el sript que me dejastes he conseguido hacerlo XD. Mil gracias!! :D
mientras lo aprendas...
Jejeje, de nada men, al ponertelo sin terminar seguro que he conseguido k te entre en la cabeza el funcionamiento del mismo, no? xD
No se si deberia también ponerme a hacer tutoriales...
Actualmente desarrollando nuestra web y UXCode : http://www.gcrew.es
de que
estas hablando?????????????? :S
Coño, crei dejarlo claro
****, crei dejarlo claro XD
Lo que quiero hacer es un script en LUA que cumpla la siguiente función: Un diálogo en un videojuego en el cuál el texto dicho por cada personaje vaya apareciendo poco a poco, es decir, letra a letra con un cierto intervalo de tiempo.
EDITADO: El uso de palabras inadecuadas no está permitido. Por favor, revise las normas de la comunidad. Gracias Ðark_Ðragøn-ßlack
yo que tu
quitaria ese c**o va contra las normas xD
perdon no sabia de lo que hablabas