设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索

脚本里该如何调用文字的颜色描绘。

查看数: 1758 | 评论数: 2 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2018-1-27 19:39

正文摘要:

想在脚本里描绘文字,并在指定的文字添加上颜色。 如: text = sprintf("\c[18]赤炎魔劍\c[0]釋放出熾熱的火焰!") 结果测试发现不能描绘,并且显示怪异。 请问该怎么样调用文字的颜色描绘? ...

回复

gqxastg 发表于 2018-1-27 20:10:59
本帖最后由 gqxastg 于 2018-1-27 20:58 编辑

嘛 除了将双引号改为单引号之外 也可以把每个反斜杠x2 即 \ → \\
另外系统自带的战斗记录只是单纯的draw_text用不了转义符
————
现写(照着Window_Message改)了一段针对原战斗消息脚本的颜色转义符的代码,实测反斜杠x2状态下可用
脚本水平不高请见谅233
自带的Window_BattleMessage大概199行的
RUBY 代码复制
  1. self.contents.draw_text(rect, @lines[index])

替换为
RUBY 代码复制
  1. @btext = "#{@lines[index]}"
  2.     @btext.gsub!(/\\C\[([0-9]+)\]/i) { "\x01[#{$1}]" }
  3.     @bcontents_x = 0
  4.     loop do
  5.       c = @btext.slice!(/./m)
  6.       case c
  7.       when nil
  8.         break
  9.       when "\x01"
  10.         @btext.sub!(/\[([0-9]+)\]/, "")
  11.         self.contents.font.color = text_color($1.to_i)
  12.         next
  13.       else
  14.         self.contents.draw_text(rect.x + @bcontents_x, rect.y, 40, rect.height, c)
  15.         c_width = contents.text_size(c).width
  16.         @bcontents_x += c_width
  17.       end
  18.     end

即可

点评

谢谢前辈的帮忙,前辈太谦虚啦。  发表于 2018-1-27 21:27
啊我的锅x Window_BattleMessage的父类就是Window_Message 我这里刚写了一段针对自带战斗消息使用颜色转义符的代码 更新在回复里了  发表于 2018-1-27 20:50
虽然没怎么用过VX 目测很麻烦 不像VA在Window_Base里有draw_text_ex来的快捷 还是用现成脚本或者Window_Message魔改比较靠谱呢  发表于 2018-1-27 20:17
唔...没有办法支持吗...据说VA就可以支持,VX没有办法修改出来吗?  发表于 2018-1-27 20:14

评分

参与人数 2星屑 +80 +1 收起 理由
正太君 + 80 认可答案
文雅夕露 + 1 十分感谢

查看全部评分

魔法丶小肉包 发表于 2018-1-27 20:02:36
双引号改成单引号

点评

嗯...显示正常了,但文字颜色还是无法描绘出来...  发表于 2018-1-27 20:07
拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-5-21 20:17

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表