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

Project1

 找回密码
 注册会员
搜索
查看: 773|回复: 0
打印 上一主题 下一主题

[难以理解的脚本]Window_Help的自动换行

[复制链接]
梦石
0
星屑
105
在线时间
297 小时
注册时间
2009-1-7
帖子
216
跳转到指定楼层
1
发表于 2015-6-27 23:58:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
  1. #encoding:utf-8
  2. #==============================================================================
  3. # ■ Window_Help
  4. #------------------------------------------------------------------------------
  5. #  显示特技和物品等的说明、以及角色状态的窗口
  6. #==============================================================================

  7. class Window_Help < Window_Base
  8.   #--------------------------------------------------------------------------
  9.   # ● 设置内容(窗口宽度为516,文字内容超过则自动换行)
  10.   # 字符串下标从0开始 到 长度 - 1
  11.   # 通过text_size(text).width获取指定文本的显示宽度
  12.   #--------------------------------------------------------------------------
  13.   def set_text(text)
  14.     tmp = "";#最终拼凑而成的文本
  15.     bool = false;#记录是否曾经换行,如果已经换行则不再进行二次换行,因为只有2行
  16.     if text != @text#如果已经在显示的文本不和新的文本一致,则进行设置
  17.       l = text.length - 1;#获取新文本的长度,并减去1用来循环迭代
  18.       for i in 0..l do#进行循环,对字符串的每一个字符进行迭代
  19.         if text[i] != "\r" and text[i] != "\n" then#跳过文本中的换行符和回车符
  20.           if !bool then#如果没有进行过换行才进行计算
  21.             tmpw = text_size(tmp).width;#已经处理好的字符串的宽度
  22.             textw = text_size(text[i]).width;#下一个字符的宽度
  23.             w = tmpw + textw;#新的字符串总宽度
  24.             if w <= 516 then#如果文本的宽度没有超过516,还能显示下一个字符
  25.               tmp = tmp + text[i];#进行追加
  26.             else#如果已经显示不下
  27.               tmp = tmp + "\r" + "\n" + text[i];#进行换行后追加
  28.               bool = true;#表示已经换过行了
  29.             end
  30.           else#如果已经换过行了。
  31.             tmp = tmp + text[i];#进行追加
  32.           end
  33.         end
  34.       end
  35.       @text = tmp;#返回结果
  36.       refresh#进行刷新
  37.     end
  38.   end
  39. end
复制代码
无论描述的内容是否有换行,都会强制这么转换
游戏群组:https://rpg.blue/forum.php?mod=group&fid=565在这里你可以看到我在制作游戏过程中分享的内容。
拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

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

GMT+8, 2024-4-29 23:33

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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