查看: 4204|回复: 7

[已经解决] 在游戏过程中更改字体。

[复制链接]
梦石
0
星屑
50
在线时间
32 小时
注册时间
2013-1-25
回帖
18
发表于 2013-8-21 11:02:20 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
本帖最后由 LyMin 于 2013-8-22 12:02 编辑

在游戏过程中更改字体,而不是一开始就更改字体
试过def脚本,事件中的脚本,都不行。
求大神帮忙。·_·    : )
梦石
0
星屑
50
在线时间
79 小时
注册时间
2007-6-23
回帖
147
发表于 2013-8-21 11:42:58 | 显示全部楼层
Fonts.default_font="xx" 这种不行?
回复

使用道具 举报

梦石
1
星屑
23236
在线时间
9564 小时
注册时间
2012-6-19
回帖
7018

开拓者短篇九导演组冠军

发表于 2013-8-21 13:32:59 | 显示全部楼层
[pre lang="ruby" line="1"]=begin
================================================================================

字体设置 By 喵呜喵5

================================================================================

【说明】

在游戏中通过一个变量来修改使用的字体
缺点很明显,默认脚本中自动计算窗口高度的部分会出错,请自己设置每种字体的大小基本一致
在开头的设置中设置需要使用的字体即可
  
如果某些窗口的字体没有改变的话,
找到该窗口draw_text方法,在前面加一句reset_font_settings即可,
详细的操作可以参考脚本的最后部分

=end


#==============================================================================
#  脚本部分
#==============================================================================

module M5Font
#==============================================================================
#  设定部分
#==============================================================================
  
  VAR = 1 #在这里设置用来切换字体的变量
  
  
  #这里设置需要使用的字体,默认使用最顶上的字体,对应变量0
  #如果变量的值比下面列出的(字体数目-1)还要大的话,会使用最顶上的字体
  
  FONT = [
    "方正小标宋简体",
    "微软雅黑",
    "Microsoft Yahei",
    "SimHei"
    ]
   
  #这里设置需要使用的字体大小,和上面的字体名称一一对应  
  
  SIZE = [
    48,
    24,
    30,
    20
    ]
  
#==============================================================================
#  设定结束
#==============================================================================
end
class Window_Base < Window  
  def get_font_name
    return M5Font::FONT[0] if !M5Font::FONT[$game_variables[M5Font::VAR]]   
    M5Font::FONT[$game_variables[M5Font::VAR]]
  end  
  def get_font_size
    return M5Font::SIZE[0] if !M5Font::SIZE[$game_variables[M5Font::VAR]]
    M5Font::SIZE[$game_variables[M5Font::VAR]]
  end  
  def reset_font_settings
    contents.font.name = get_font_name
    change_color(normal_color)
    contents.font.size = get_font_size
    contents.font.bold = false
    contents.font.italic = false
  end
end
#==============================================================================
#  以下语句让带有选择项的窗口也能够更换字体
#==============================================================================
class Window_Command < Window_Selectable
  def draw_item(index)
    reset_font_settings #在默认方法的开头加了一句reset_font_settings
    change_color(normal_color, command_enabled?(index))
    draw_text(item_rect_for_text(index), command_name(index), alignment)
  end
end
#==============================================================================
#  脚本结束
#==============================================================================[/pre]

评分

参与人数 1赞 +1 收起 理由
whitedewxiao + 1 感谢!!!!!!!!!!

查看全部评分

回复 1 0

使用道具 举报

梦石
0
星屑
50
在线时间
32 小时
注册时间
2013-1-25
回帖
18
 楼主| 发表于 2013-8-22 11:56:27 | 显示全部楼层
本帖最后由 LyMin 于 2013-8-22 12:01 编辑
喵呜喵5 发表于 2013-8-21 13:32
=begin
================================================================================

哦,谢谢!
回复

使用道具 举报

梦石
0
星屑
50
在线时间
32 小时
注册时间
2013-1-25
回帖
18
 楼主| 发表于 2013-8-22 12:02:19 | 显示全部楼层
fangyc 发表于 2013-8-21 11:42
Fonts.default_font="xx" 这种不行?

试过了不行...
回复

使用道具 举报

梦石
1
星屑
23236
在线时间
9564 小时
注册时间
2012-6-19
回帖
7018

开拓者短篇九导演组冠军

发表于 2013-8-22 13:58:25 | 显示全部楼层
LyMin 发表于 2013-8-22 12:02
试过了不行...

你是不是添加了其他显示文字的脚本结果导致和这个脚本冲突了?
回复

使用道具 举报

梦石
0
星屑
50
在线时间
32 小时
注册时间
2013-1-25
回帖
18
 楼主| 发表于 2013-8-24 11:34:25 | 显示全部楼层
喵呜喵5 发表于 2013-8-22 13:58
你是不是添加了其他显示文字的脚本结果导致和这个脚本冲突了?

没有,我都是新建的一个工程
回复

使用道具 举报

梦石
1
星屑
23236
在线时间
9564 小时
注册时间
2012-6-19
回帖
7018

开拓者短篇九导演组冠军

发表于 2013-8-24 12:18:05 | 显示全部楼层
LyMin 发表于 2013-8-24 11:34
没有,我都是新建的一个工程

Data.zip (209.72 KB, 下载次数: 115)

范例工程

评分

参与人数 1梦石 +1 收起 理由
Sion + 1 认可答案

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部