Font is a property of the Bitmap class, so whenever you need to call on a font property in a window, it will be preceded by self.contents., so as an example:
will change the contents font name to "Arial" on the window’s Bitmap.
Font (with a capital F) will globally change the font settings, but because it’s a Bitmap property.
The following scriptlet will show how the font properties can be used in a single method (draw_font) to make drawing fonts easier.
#============================================================================== # ** Window_Base #============================================================================== class Window_Base < Window #------------------------------------------- # * Draw font # bold : Bold on/off # italic : Italic on/off # size : Font size # color : Font color # # Example : draw_font("Arial", 14, false, true, 1) #------------------------------------------- def draw_font(name = "MS Gothic", size = 14, bold = false, italic = false, color = 0) # Font name and size self.contents.font.name = name self.contents.font.size = size # Check bold on (1 or true) or off (0 or false) case bold when 0, false; self.contents.font.bold = false when 1, true; self.contents.font.bold = true end # Check italic on (1 or true) or off (0 or false) case italic when 0, false; self.contents.font.italic = false when 1, true; self.contents.font.italic = true end # Change Color # If color is set to 0 or 1, "normal" or "system" default colors respectively will be used. # Setting color as 2 will randomize the colors, including its alpha properties. case color when 0; self.contents.font.color = normal_color when 1; self.contents.font.color = system_color when 2; self.contents.font.color = Color.new(rand(255), rand(255), rand(255), rand(255)) end end #------------------------------------------- # * Reset font settings to default #------------------------------------------- def reset_fonts draw_font(Font.default_name, Font.default_size, 0, 0, 0) end end
This can then be used as a direct method in the window. There's no need to precede it with self.contents. since it's been defined in Window_Base, on which each window relies.
I've also added reset_fonts, a method to reset the font settings to the defaults. Again this can be placed as a direct method without needing the self.contents. before it.
This works for RMXP, RMVX and RMVXA.
You must log in to post a comment.