查看: 4394|回复: 4

[已经解决] 关于自动换行脚本……

[复制链接]

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

开拓者短篇九导演组冠军

发表于 2013-5-19 14:02:09 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 喵呜喵5 于 2013-5-25 20:08 编辑

图书馆有一个显示文字的自动换行脚本,使用了以后确实可以自动换行了,但是和其他显示选项、显示任务的脚本貌似有冲突……
(http://rpg.blue/thread-224184-1-1.html)
35776914.png

于是自己写了一个自动换行脚本,实际上只有几行而已,测试的时候也没有问题可以正常使用
35776914.png

但是因为我不会写脚本所以感觉有点不安……为什么人家写了那么长我几行就完成了……

所以求各位对脚本纠错一下看看这个脚本有没有什么严重的问题……可以的话,告诉我如何解决或者能给我一个更完善的自动换行脚本就更好了………………

[pre lang="ruby" line="1"]=begin
===============================================================================
自动换行 By喵呜喵5
===============================================================================

【说明】

显示文章的自动换行
咱不负责修正本脚本中出现的BUG,因为就算出现BUG我也不知道怎么修正……
修改了默认Window_Message中的
process_normal_character(c, pos)
因此会与修改了相同内容的其他脚本不兼容

=end

#==============================================================================
#  设定部分
#==============================================================================

module M5AuMes
  Switch = 0  #这里设置开关,开关开启则不使用自动换行
end

#==============================================================================
#  设定结束
#==============================================================================

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

class Window_Message < Window_Base
  
  def process_normal_character(c, pos)
    super
    if (pos[:x] + 4 + self.contents.text_size(c).width) > self.contents.width && !$game_switches[M5AuMes::Switch]
      process_new_line(c, pos)
    end        
    wait_for_one_character
  end

end

#==============================================================================
#  脚本结束
#==============================================================================[/pre]
梦石
0
星屑
50
在线时间
687 小时
注册时间
2012-10-29
回帖
1526
发表于 2013-5-19 14:18:46 | 显示全部楼层
原脚本主要是有对于控制符 \n \k \f 这类的处理,您自己若是没有用到这种控制符,而您又用得很顺没有出现错误,那就可以了,

不过,您的脚本没有使用限制,一旦您用这种方式,所有显示文字的地方都会自动分行,不能决定什么时候自动分行,什么时候不分,

那只要字数太长,就会被分成两行,那像是说明文字,战斗提示之类,要注意一下有没有因为这样显示变得不正常,若没有那OK啦。
修改劇本中,仔細審查原來的劇情大綱,覺得有點不太滿意,嘗試編寫不同主角不同主線的劇情,希望能寫得出來。
回复

使用道具 举报

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

开拓者短篇九导演组冠军

 楼主| 发表于 2013-5-19 14:59:45 | 显示全部楼层
j433463 发表于 2013-5-19 14:18
原脚本主要是有对于控制符 \n \k \f 这类的处理,您自己若是没有用到这种控制符,而您又用得很顺没有出现错 ...

嗯……根据你说的加了一个开关,应该可以实现不同句对话间切换是否自动换行了,虽然同一句对话的自动换行和非自动换行切换看起来是实现不了的……

另外战斗提示信息似乎是在BattleLog里面所以不会被影响到的样子
不知道还有没有其他对话也是受Window_Message影响的……

35776914.png
回复

使用道具 举报

梦石
0
星屑
50
在线时间
687 小时
注册时间
2012-10-29
回帖
1526
发表于 2013-5-19 15:12:04 | 显示全部楼层
恐怕有吧,光是默认中脚本用 $game_message.add() 的就不少,挂上的脚本也有可能用到。
修改劇本中,仔細審查原來的劇情大綱,覺得有點不太滿意,嘗試編寫不同主角不同主線的劇情,希望能寫得出來。
回复

使用道具 举报

梦石
0
星屑
50
在线时间
22 小时
注册时间
2013-7-6
回帖
14
发表于 2013-8-25 22:36:38 | 显示全部楼层
感谢分享!!好像抱一抱楼主!!
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部