¡Bienvenid@ a Mundo Maker!

¿Quieres aprender todo sobre el RPG Maker?



Regístrate y forma parte de Mundo Maker.
Conectarse

Recuperar mi contraseña

Temas importantes
----------------------------------------
Páginas con recursos RPG Maker
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
Afiliados
Estadísticas
Tenemos 3378 miembros registrados.
El último usuario registrado es Max003.

Nuestros miembros han publicado un total de 79742 mensajes en 11241 argumentos.
Navega con Google Chrome
[DESCARGA]

(Ayuda) Textos con sangría [RESUELTO]

 :: RPG Maker :: Ayuda RPG

Ver el tema anterior Ver el tema siguiente Ir abajo

RPG Maker VX ACE (Ayuda) Textos con sangría [RESUELTO]

Mensaje por Nihil-Zauber el 2014-07-01, 14:49

Plataforma: Rpg Maker VX Ace
Scripts relacionados usados: Yanfly Engine Ace - Ace Message System v1.01

Holazas a todos, makeros de mis amores.

Me he puesto hoy seriamente a modificar los cuadros de texto de diálogos de mi proyecto y estoy utilizando una imagen para representarlo con el script Galv's Message Background y me surgen un par de problemillas que, si se solucionan, quedaría algo muy chulo.

Quisiera saber si hay alguna forma de aplicar sangría (padding) a los textos, es decir, que empiecen un pelín más a la derecha, para que no aparezca encima de una mala zona de la imagen del recuadro.

También quisiera saber (aunque esto me parece un poco fantasioso) si se puede justificar el texto, como en los editores de texto, es decir, que por sí solo se estire hasta ocupar hasta el final de la línea y quede más bonito.

Dejo una imagen de cómo lo llevo para que sea más gráfico.

Spoiler:


Última edición por Nihil-Zauber el 2014-07-01, 16:04, editado 1 vez

Nihil-Zauber
Soñador
Soñador

0/3

Créditos 1229

Gracias : 12

http://nihildivinedestiny.wordpress.com/

Volver arriba Ir abajo

RPG Maker VX ACE Re: (Ayuda) Textos con sangría [RESUELTO]

Mensaje por Wecoc el 2014-07-01, 15:13

Lo de justificar es posible pero bastante difícil, ejejeje (no sé lo suficiente del Ace como para hacerlo).
Yo me tomo otras cosas con la sangría, pero te contaré cómo hacer lo del texto. Aún así te aviso, si usas faces allí en algún momento también tendras que arreglar la x o te pasará lo mismo.

Hay más de una forma en realidad, te cuento; hay una parte en el script default de Window Message que pone ésto:

Código:
  def new_line_x
    $game_message.face_name.empty? ? 0 : 112
  end


¿Correcto? Eso está diciendo que si no hay face la x del texto es 0 y si la hay es 112. Si cambias ese 0 por un 20 o así, te quedará a sitio. Si no te funciona es que el script de Yanfly edita ese def, pero me extrañaría... Si lo hace busca el def dentro del script de Yanfly e intenta hacer algo similar, a ver si lo consigues ;D

Wecoc
Administrador
Administrador



Créditos 8263

Gracias : 372

Volver arriba Ir abajo

RPG Maker VX ACE Re: (Ayuda) Textos con sangría [RESUELTO]

Mensaje por Nihil-Zauber el 2014-07-01, 15:23

Gracias por tu respuesta Wecoc, aunque me temo que no ha dado resultado, y es raro, porque tiene toda la lógica del mundo  u_u 

Pero mira, he estado cotilleando el message system de Yanfly que tengo instalado y en estas líneas quizá haya algo que lo solucione ¿no?


#--------------------------------------------------------------------------
  # set_y_position
  #--------------------------------------------------------------------------
  def set_x_position(x_position)
    case x_position
    when 1 # Left
      self.x = @message_window.x
      self.x += YEA::MESSAGE::NAME_WINDOW_X_BUFFER
    when 2 # 3/10
      self.x = @message_window.x
      self.x += @message_window.width * 3 / 10
      self.x -= self.width / 2
    when 3 # Center
      self.x = @message_window.x
      self.x += @message_window.width / 2
      self.x -= self.width / 2
    when 4 # 7/10
      self.x = @message_window.x
      self.x += @message_window.width * 7 / 10
      self.x -= self.width / 2
    when 5 # Right
      self.x = @message_window.x + @message_window.width
      self.x -= self.width
      self.x -= YEA::MESSAGE::NAME_WINDOW_X_BUFFER
    end
    self.x = [[self.x, Graphics.width - self.width].min, 0].max
  end
 
  #--------------------------------------------------------------------------
  # set_y_position
  #--------------------------------------------------------------------------
  def set_y_position
    case $game_message.position
    when 0
      self.y = @message_window.height
      self.y -= YEA::MESSAGE::NAME_WINDOW_Y_BUFFER
    else
      self.y = @message_window.y - self.height
      self.y += YEA::MESSAGE::NAME_WINDOW_Y_BUFFER
    end
  end
 

Nihil-Zauber
Soñador
Soñador

0/3

Créditos 1229

Gracias : 12

http://nihildivinedestiny.wordpress.com/

Volver arriba Ir abajo

RPG Maker VX ACE Re: (Ayuda) Textos con sangría [RESUELTO]

Mensaje por Wecoc el 2014-07-01, 15:36

Eso es la posición x de la ventana, no del texto de la ventana. Te serviría porque al fin y al cabo la ventana en ese caso tiene fondo invisible, el único problema es que esa flechita que se ve para pulsar aceptar luego no se vería tan centrada, pero quizá te dé igual xD Si te da igual dónde pone self.x = @message_window.x (sale varias veces) ponle + 20 detrás, a ver si así xD

Quizá el sistema de mensajes de Yanfly soporte texto justificado, deberías investigar a ver qué.

Si te interesara mucho eso de la justificación te dejo una información adicional, y ni que sea por si alguien más se lo pregunta.

Información adicional:
El texto de Window_Message no es un draw_text normal y corriente sin más; las letras se dibujan una a una y luego se va sumando a la x para la siguiente el tamaño de esa letra. Eso, en el sistema default del Ace, se hace en el def process_normal_character.

La justificación en general no se basa en la separación entre letras sinó entre palabras, así que a la hora de sumar ese "text_width" a la x se podría comprobar si el carácter a analizar es el espacio y entonces en vez de sumar su ancho, sumar a x lo que corresponda en ese caso para la justificación.

El problema ahí está en calcular la x a sumar en ese caso, y es por eso que no te lo hago, porque en Ace no sabría. Habría que obtener el texto de solo esa línea, calcular su tamaño (¡pero atención! Clonándolo y quitándole antes todos sus códigos tipo \c[n] y todo eso, para obtener el tamaño real), obtener el tamaño general de la ventana, contar el número de espacios en esa línea y luego hacer el cálculo con toda esa información.

Además, para colmo, no todas las líneas deben ser justificadas, las que tienen punto y aparte no. No sé cómo se comprobaría eso en realidad, yo haría una aproximación buscando la última línea con texto en cada caso y ya, o algo así xDD


Última edición por Wecoc el 2014-07-01, 15:47, editado 1 vez

Wecoc
Administrador
Administrador



Créditos 8263

Gracias : 372

Volver arriba Ir abajo

RPG Maker VX ACE Re: (Ayuda) Textos con sangría [RESUELTO]

Mensaje por Faye Valentine el 2014-07-01, 15:44

Errr... ¿aprieta la tecla espacio un par de veces antes de empezar un texto?

Faye Valentine
Soñador
Soñador

0/3

Créditos 279

Gracias : 33

Volver arriba Ir abajo

RPG Maker VX ACE Re: (Ayuda) Textos con sangría [RESUELTO]

Mensaje por Nihil-Zauber el 2014-07-01, 16:01

Lo de apretar la tecla un par de veces antes de cada texto ya lo había pensado, pero a la larga es un aburrimiento y por eso, si existe un modo permanente, mucho mejor, InVariableZ.

¡Lo conseguí! Resulta que había una línea en el script de Yanfly que se sobreponía a la original del window_message:


def new_line_x
    return $game_message.face_name.empty? ? 25 : YEA::MESSAGE::FACE_INDENT_X
  end




Os agradezco mucho vuestra ayuda, gracias a tu dato Wecoc he podido encontrarlo en el otro script :D y muchas gracias por tu ayuda en cuanto a lo de justificar el texto, así da gusto, en cuanto lo pruebe te comentaré.

Ahora me encanta cómo ha quedado el cuadro de texto, con el texto empezando donde debe, la imagen de fondo que hice y el sonido al aparecer las letras. ¡mola!

Muchas gracias, de veras :D

-RESUELTO-

Nihil-Zauber
Soñador
Soñador

0/3

Créditos 1229

Gracias : 12

http://nihildivinedestiny.wordpress.com/

Volver arriba Ir abajo

RPG Maker VX ACE Re: (Ayuda) Textos con sangría [RESUELTO]

Mensaje por Contenido patrocinado Hoy a las 02:26


Contenido patrocinado


Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


 :: RPG Maker :: Ayuda RPG

Permisos de este foro:
No puedes responder a temas en este foro.