Mundo Maker
¡Bienvenid@ a Mundo Maker!

¿Quieres aprender todo sobre el RPG Maker?



Regístrate y forma parte de Mundo Maker.

Cambiar color sistema de texto

Ver el tema anterior Ver el tema siguiente Ir abajo

RPG Maker XP Cambiar color sistema de texto

Mensaje por Lithium el 2018-04-17, 22:21

Muy buenas, gente !
Abro nuevo tema para no hacer necropost en este 2013: Cambiar el color de la fuente

Básicamente mi duda es la misma pero la solución que dio Orochii no me ha servido, tampoco he entendido muy bien si todos los códigos hay que ponerlos en Main y decir que utilizo el sistema de mensaje de Wecoc por si hubiera que trastear algo en él para que se dé el cambio de color porque de primeras no parece tan complicado pero qué voy a decir yo xD.
En todo caso así tengo el script de Main con lo que dijo Orochii:
Código:
#==============================================================================
# ** Main
#------------------------------------------------------------------------------
#  After defining each class, actual processing begins here.
#==============================================================================

begin
 Font.default_color=Color.new(255,255,255)
 def normal_color
   return Color.new(0, 0, 0, 255)
 end
 #--------------------------------------------------------------------------
 # * Get Text Color
 #     n : text color number (0-7)
 #--------------------------------------------------------------------------
 def text_color(n)
   case n
   when 0
     return Color.new(0, 0, 0, 255)
   when 1
     return Color.new(128, 128, 255, 255)
   when 2
     return Color.new(255, 128, 128, 255)
   when 3
     return Color.new(128, 255, 128, 255)
   when 4
     return Color.new(128, 255, 255, 255)
   when 5
     return Color.new(255, 128, 255, 255)
   when 6
     return Color.new(255, 255, 128, 255)
   when 7
     return Color.new(192, 192, 192, 255)
   else
     normal_color
   end
 end
 #--------------------------------------------------------------------------
 # * Get Normal Text Color
 #--------------------------------------------------------------------------
 def normal_color
   return Color.new(0, 0, 0, 255)
 end
 #--------------------------------------------------------------------------
 # * Get Disabled Text Color
 #--------------------------------------------------------------------------
 def disabled_color
   return Color.new(255, 255, 255, 128)
 end
 #--------------------------------------------------------------------------
 # * Get System Text Color
 #--------------------------------------------------------------------------
 def system_color
   return Color.new(192, 224, 255, 255)
 end
 #--------------------------------------------------------------------------
 # * Get Crisis Text Color
 #--------------------------------------------------------------------------
 def crisis_color
   return Color.new(255, 255, 64, 255)
 end
 #--------------------------------------------------------------------------
 # * Get Knockout Text Color
 #--------------------------------------------------------------------------
 def knockout_color
   return Color.new(255, 64, 0)
 end
 # Prepare for transition
 Graphics.freeze
 # Make scene object (title screen)
 $scene = Scene_Title.new
 # Call main method as long as $scene is effective
 while $scene != nil
   $scene.main
 end
 # Fade out
 Graphics.transition(20)
rescue Errno::ENOENT
 # Supplement Errno::ENOENT exception
 # If unable to open file, display message and end
 filename = $!.message.sub("No se encontó el archivo o directorio - ", "")
 print("Error RGSS: #{filename}")
end
avatar
Lithium
Iniciado
Iniciado

0/3

Créditos 24

Gracias : 3

Volver arriba Ir abajo

RPG Maker XP Re: Cambiar color sistema de texto

Mensaje por Wecoc el 2018-07-01, 16:12

Yo el script de main casi nunca lo edito, y en este caso concreto tampoco hace ninguna falta, puedes usar el que viene por defecto. Lo que tienes que cambiar (que te dijo Orochii) viene en Window_Base, no en Main.

Si no quieres editar scripts por defecto siempre es mejor ponerse un script encima de Main (y encima del WMS) y hacer los cambios ahí.

Código:
class Window_Base
  def text_color(n)
    case n
    when 0
      return Color.new(255, 255, 255, 255)
    when 1
      return Color.new(128, 128, 255, 255)
    when 2
      return Color.new(255, 128, 128, 255)
    when 3
      return Color.new(128, 255, 128, 255)
    when 4
      return Color.new(128, 255, 255, 255)
    when 5
      return Color.new(255, 128, 255, 255)
    when 6
      return Color.new(255, 255, 128, 255)
    when 7
      return Color.new(192, 192, 192, 255)
    else
      normal_color
    end
  end
  #--------------------------------------------------------------------------
  # * Get Normal Text Color
  #--------------------------------------------------------------------------
  def normal_color
    return Color.new(255, 255, 255, 255)
  end
  #--------------------------------------------------------------------------
  # * Get Disabled Text Color
  #--------------------------------------------------------------------------
  def disabled_color
    return Color.new(255, 255, 255, 128)
  end
  #--------------------------------------------------------------------------
  # * Get System Text Color
  #--------------------------------------------------------------------------
  def system_color
    return Color.new(192, 224, 255, 255)
  end
  #--------------------------------------------------------------------------
  # * Get Crisis Text Color
  #--------------------------------------------------------------------------
  def crisis_color
    return Color.new(255, 255, 64, 255)
  end
  #--------------------------------------------------------------------------
  # * Get Knockout Text Color
  #--------------------------------------------------------------------------
  def knockout_color
    return Color.new(255, 64, 0)
  end
end

En este caso los que te interesa cambiar son:
- El color que viene dentro de [line]def normal_color[/line], por defecto es blanco y lo cambias a negro
[line]return Color.new(0, 0, 0, 255)[/line]

- El color por defecto \c[0] de la ventana de texto, dentro de [line]def text_color(n)[/line] en el when 0, exactamente igual que antes.

A parte de eso puedes cambiar los demás colores que vienen en el script.
Los de text_color(n) son todos los \c[n] cuando pones colores de texto en los mensajes de evento; WMS permite asignar cualquier color pero de un modo algo especial... los que vienen por defecto si mal no recuerdo siguen funcionando igual.

- normal_color es el color de texto normal
- disabled_color es el color de texto de opciones desactivadas (cuando no se permite guardar, etc)
- system_color es un color azul que aparece en según qué palabras especiales, como G (dinero), HP...
- crisis_color es el color amarillo del texto cuando te queda poca vida
- knockout_color es el color rojo de cuando no te queda vida

Algunos scripts especiales usan sus propios colores así en esos casos tendrás que cambiarlo ahí "a mano".
avatar
Wecoc
Administrador
Administrador



Créditos 12236

Gracias : 638

Volver arriba Ir abajo

RPG Maker XP Re: Cambiar color sistema de texto

Mensaje por Lithium el 2018-07-02, 23:02

Ahora mismo no sé si quería referirme al script de Main o Fonts ya que el primero no guarda ninguna relación con las fuentes pero en cualquier caso ya está solucionado!
Con la desesperación puse todos los 'return Color.new' a (0, 0, 255, 0) y no aparecía texto por nada del mundo, incluso había desistido ya de buscarle solución y directamente iba a comenzar el proyecto de cero y eso que ni siquiera es un bug xD.
Una pregunta más antes de cerrar el tema, se puede configurar un color para cada windowskin a través de un script o consideras que con \C[n] y el valor del color es suficiente?
Gracias por la ayuda, Wec!
avatar
Lithium
Iniciado
Iniciado

0/3

Créditos 24

Gracias : 3

Volver arriba Ir abajo

RPG Maker XP Re: Cambiar color sistema de texto

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


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