Project1
标题:
游戏中用一种字体显示文字,用一种字体显示数字怎么做?
[打印本页]
作者:
OWOWOW
时间:
2010-9-17 12:26
标题:
游戏中用一种字体显示文字,用一种字体显示数字怎么做?
本帖最后由 OWOWOW 于 2010-9-21 12:21 编辑
RT求教
作者:
85859595
时间:
2010-9-17 12:45
本帖最后由 85859595 于 2010-9-17 12:49 编辑
下载个字体
点击字体下载
安装到C:\WINDOWS\Fonts
然后
QQ截图未命名.jpg
(89.33 KB, 下载次数: 6)
下载附件
保存到相册
2010-9-17 12:44 上传
把字体名称改在这里 图上
如果不对题 那是我理解不好 抱歉 能力有限
高手可无视
作者:
oОS+WEi
时间:
2010-9-17 12:51
回复
85859595
的帖子
明显不对题,LZ要的是伤害数字的字体,而不是文字的字体
作者:
fwaiter
时间:
2010-9-17 13:37
提示:
作者被禁止或删除 内容自动屏蔽
作者:
fux2
时间:
2010-9-17 17:13
回复
OWOWOW
的帖子
不太可能吧?我虽然知道一种方法但会在换字体的时候卡,所以我的建议是
自行修改字体文件,网上公具很多。
祝你好运!
作者:
oОS+WEi
时间:
2010-9-17 18:44
我记得楼主不是会做伤害数字麽 把数字P成自己要的那种字体不就行了
作者:
zhli667
时间:
2010-9-17 18:45
本帖最后由 zhli667 于 2010-9-17 18:51 编辑
在Window_Base里加入此方法
def font_style(n)
case n
when 0
return Font.default_name
when 1
return "宋体"
when 2
return "华文行楷"
when 3
return "楷体_GB2312"
when 4
return "方正准圆简体"
end
end
复制代码
可以自行添加其它字体
然后把Window_Message里的refresh方法替换为以下的
#--------------------------------------------------------------------------
# ● 刷新
#--------------------------------------------------------------------------
def refresh
self.contents.clear
self.contents.font.color = normal_color
#--修改的部分-----
self.contents.font.name = Font.default_name
#------------
x = y = 0
@cursor_width = 0
# 到选择项的下一行字
if $game_temp.choice_start == 0
x = 8
end
# 有等待显示的文字的情况下
if $game_temp.message_text != nil
text = $game_temp.message_text
# 限制文字处理
begin
last_text = text.clone
text.gsub!(/\\[Vv]\[([0-9]+)\]/) { $game_variables[$1.to_i] }
end until text == last_text
text.gsub!(/\\[Nn]\[([0-9]+)\]/) do
$game_actors[$1.to_i] != nil ? $game_actors[$1.to_i].name : ""
end
# 为了方便、将 "\\\\" 变换为 "\000"
text.gsub!(/\\\\/) { "\000" }
# "\\C" 变为 "\001" に、"\\G" 变为 "\002"
text.gsub!(/\\[Cc]\[([0-9]+)\]/) { "\001[#{$1}]" }
text.gsub!(/\\[Gg]/) { "\002" }
#--修改的部分-----
text.gsub!(/\\[Ff]\[([0-9]+)\]/) { "\003[#{$1}]" }
#------------
# c 获取 1 个字 (如果不能取得文字就循环)
while ((c = text.slice!(/./m)) != nil)
# \\ 的情况下
if c == "\000"
# 还原为本来的文字
c = "\\"
end
# \C[n] 的情况下
if c == "\001"
# 更改文字色
text.sub!(/\[([0-9]+)\]/, "")
color = $1.to_i
if color >= 0 and color <= 7
self.contents.font.color = text_color(color)
end
# 下面的文字
next
end
#--修改的部分-----
# \F[n] 的情况下
if c == "\003"
# 更改文字色
text.sub!(/\[([0-9]+)\]/, "")
style = $1.to_i
if style >= 0 and style <= 4 # 4是字体最大的编号,增加字体要加大这个数字
self.contents.font.name = font_style(style)
end
# 下面的文字
next
end
#------------
# \G 的情况下
if c == "\002"
# 生成金钱窗口
if @gold_window == nil
@gold_window = Window_Gold.new
@gold_window.x = 560 - @gold_window.width
if $game_temp.in_battle
@gold_window.y = 192
else
@gold_window.y = self.y >= 128 ? 32 : 384
end
@gold_window.opacity = self.opacity
@gold_window.back_opacity = self.back_opacity
end
# 下面的文字
next
end
# 另起一行文字的情况下
if c == "\n"
# 刷新选择项及光标的高
if y >= $game_temp.choice_start
@cursor_width = [@cursor_width, x].max
end
# y 加 1
y += 1
x = 0
# 移动到选择项的下一行
if y >= $game_temp.choice_start
x = 8
end
# 下面的文字
next
end
# 描绘文字
self.contents.draw_text(4 + x, 32 * y, 40, 32, c)
# x 为要描绘文字的加法运算
x += self.contents.text_size(c).width
end
end
# 选择项的情况
if $game_temp.choice_max > 0
@item_max = $game_temp.choice_max
self.active = true
self.index = 0
end
# 输入数值的情况
if $game_temp.num_input_variable_id > 0
digits_max = $game_temp.num_input_digits_max
number = $game_variables[$game_temp.num_input_variable_id]
@input_number_window = Window_InputNumber.new(digits_max)
@input_number_window.number = number
@input_number_window.x = self.x + 8
@input_number_window.y = self.y + $game_temp.num_input_start * 32
end
end
复制代码
\f[字体编号]来改变字体,0号字体是默认字体
只适用默认对话框,想要整合到加强对话框自己参照修改的部分改改吧
作者:
步兵中尉
时间:
2010-9-19 22:17
你要改的数字仅仅指战斗中显示的数字还是所有数字
作者:
逸豫
时间:
2010-9-20 10:04
恩……找到一款只有0~9数字的字体- -|||
然后设置Main脚本中的字体为[数字字体,中文字体]
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1