查看: 3033|回复: 2

[已经解决] [脚本初学]关于创建窗口和刷新的问题

[复制链接]
梦石
0
星屑
100
在线时间
211 小时
注册时间
2011-8-16
回帖
246
发表于 2013-1-23 16:49:35 | 显示全部楼层 |阅读模式

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

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

×
今天下午弄了一下午脚本。
唔,终于把怎么创建一个窗口弄会了。
不过貌似,窗口创建出来刷新有点问题。
具体是这样的:
我在物品窗口的右侧新建了一个窗口

如图

如图

就是想选中物品的时候右侧的窗口显示注释栏里的内容。
(关于注释栏的内容有沉影不器大大的脚本)
可是,这一步具体怎么做不会了。
求教~ 忙活一下午了。
RPGMaker 脚本/学习交流群:143356012
梦石
0
星屑
50
在线时间
15 小时
注册时间
2011-3-3
回帖
14
发表于 2013-1-23 18:00:04 | 显示全部楼层
本帖最后由 就是我 于 2013-1-23 18:53 编辑

这个要牵扯到窗口内容的描绘,
呐,你可以到这里去看看:
http://rpg.blue/thread-110411-1-1.html
(这是基础哦)
但是呢,RM原本是不支持自动换行的,
所以要请在main之前插入这段脚本:
  1. class Window_Base < Window
  2.   #--------------------------------------------------------------------------
  3.   # * 描绘自动换行文字
  4.   #    出自叶子的任务系统,有所修改.
  5.   #--------------------------------------------------------------------------
  6.   def chenge_special_character(text, x=0, y=0)
  7.     # 记录换行时y坐标最小加值
  8.     min_y = 0
  9.     # 限制文字处理
  10.     begin
  11.       last_text = text.clone
  12.     #  text.gsub!(/\\[Vv]\[([0-9]+)\]/) { $game_variables[$1.to_i] }
  13.     end until text == last_text
  14.     text.gsub!(/\\[Nn]\[([0-9]+)\]/) do
  15.       $game_actors[$1.to_i] != nil ? $game_actors[$1.to_i].name : ""
  16.     end
  17.     # c 获取 1 个字 (如果不能取得文字就循环)
  18.     while ((c = text.slice!(/./m)) != nil)
  19.       # \\ 的情况下
  20.       if c == "\000"
  21.         # 还原为本来的文字
  22.         c = "\"
  23.       end
  24.       # 另起一行文字的情况下
  25.       if c == "\n"
  26.         y += [WLH, min_y].max
  27.         min_y = 0
  28.         x = 0
  29.         # 下面的文字
  30.         next
  31.       end
  32.       # 自动换行处理
  33.       if x + self.contents.text_size(c).width > self.contents.width
  34.         y += [WLH, min_y].max
  35.         min_y = 0
  36.         x = 0
  37.       end
  38.       # 描绘文字
  39.       self.contents.draw_text(x, y, 40, WLH, c)
  40.       # x 为要描绘文字的加法运算
  41.        x += self.contents.text_size(c).width
  42.     end
  43.   end
  44. end
复制代码
然后在窗口中使用
  1. chenge_special_character(描绘内容, 起始x坐标, 起始y坐标)
复制代码
就可以描绘了。
p.s:关于那个自动换行脚本,是出自叶子的任务系统滴,链接在这
http://rpg.blue/forum.php?mod=viewthread&tid=76639

点评

叶子的任务系统  发表于 2013-1-23 18:26

评分

参与人数 1星屑 +50 收起 理由
咕噜 + 50 我很赞同

查看全部评分

回复

使用道具 举报

梦石
0
星屑
100
在线时间
211 小时
注册时间
2011-8-16
回帖
246
 楼主| 发表于 2013-1-23 18:38:13 | 显示全部楼层
就是我 发表于 2013-1-23 18:00
这个要牵扯到窗口内容的描绘,
呐,你可以到这里去看看:
http://rpg.blue/thread-110411-1-1.html

感谢您的回答
RPGMaker 脚本/学习交流群:143356012
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部