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

Project1

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

关于帮助窗口内的文字

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
167
在线时间
434 小时
注册时间
2009-1-1
帖子
643
跳转到指定楼层
1
发表于 2009-4-5 09:26:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
怎么样让帮助窗口内的文字分两行显示?
默认只有一行。。。。。
版务信息:本贴由楼主自主结贴~
最近在研究XAS

Lv2.观梦者

梦石
0
星屑
280
在线时间
1374 小时
注册时间
2005-10-16
帖子
5113

贵宾

2
发表于 2009-4-5 16:42:24 | 只看该作者
draw_text两次
第一次从开头开始描绘600像素,第二次从600开始再描绘600像素
我只个搬答案的
叔叔我已经当爹了~
婚后闪人了……
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
167
在线时间
434 小时
注册时间
2009-1-1
帖子
643
3
 楼主| 发表于 2009-4-6 00:34:27 | 只看该作者
draw_text两次后文章仍旧不换行,即使调整坐标也是显示重复内容。。。
最近在研究XAS
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦·贤者

梦石
0
星屑
50
在线时间
1141 小时
注册时间
2007-12-15
帖子
4100
4
发表于 2009-4-6 00:44:24 | 只看该作者
以下引用赛露休斯于2009-4-5 16:34:27的发言:

draw_text两次后文章仍旧不换行,即使调整坐标也是显示重复内容。。。

默认的Window_Help只有640*64,除去窗口皮肤占去的空间,实际上只在高度为32像素的空间内描绘文字,默认只能有一行。如果你想显示两行,可以重写Window_Help使高度增加,但是至少有如两个问题:
1.和其他窗口会冲突,会有重叠的地方
2.除了在菜单中显示帮助窗口,其他地方(如战斗中)如果帮助窗口变高的话,可能会有影响

最好地话,还是不要改默认的高度了,如果你非要达到你要的效果,用图片菜单吧- -
http://rpg.blue/home.php?mod=space&uid=34951&do=blog&id=12799
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
167
在线时间
434 小时
注册时间
2009-1-1
帖子
643
5
 楼主| 发表于 2009-4-6 00:55:47 | 只看该作者
图片菜单也要改脚本啊。。。。。
反正窗口可以调整的嘛。。。。。
目前的想法是不使用数据库里的说明,直接在脚本里写说明文章。。。
最近在研究XAS
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦·贤者

梦石
0
星屑
50
在线时间
1141 小时
注册时间
2007-12-15
帖子
4100
6
发表于 2009-4-6 01:06:15 | 只看该作者
以下引用赛露休斯于2009-4-5 16:55:47的发言:

图片菜单也要改脚本啊。。。。。
反正窗口可以调整的嘛。。。。。
目前的想法是不使用数据库里的说明,直接在脚本里写说明文章。。。

窗口的调整,比较个性化,改起来比较麻烦,不像图片菜单,有直接可以拿来用的脚本。
如果LZ肯悬赏,或许有人会帮你做,或许LZ自己会改脚本,那就自己动手吧。Window_XXX不是很困难的说……
http://rpg.blue/home.php?mod=space&uid=34951&do=blog&id=12799
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
167
在线时间
434 小时
注册时间
2009-1-1
帖子
643
7
 楼主| 发表于 2009-4-6 08:51:03 | 只看该作者
LS,不是偶不肯悬赏而是没分悬赏
想直接在脚本里写说明文章,尝试着用字符串的那个<<-STR 和 STR ,能是能显示了,但不支持换行,把Window_Message的那段般进去就脚本冲突,还是得等高手啊。。。。。。
最近在研究XAS
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
61
在线时间
24 小时
注册时间
2008-8-5
帖子
1924
8
发表于 2009-4-6 09:00:54 | 只看该作者
亿万说的 draw_text 两次是指第一次描绘第一行内容,第二次描绘第二行内容~
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
167
在线时间
434 小时
注册时间
2009-1-1
帖子
643
9
 楼主| 发表于 2009-4-6 09:14:58 | 只看该作者
这个具体怎么干?如果使用数据库里的说明好像无法用draw_text换行
如果直接用脚本指定,内容分多个draw_text,说明物质的设定起来好像也挺麻烦
最近在研究XAS
回复 支持 反对

使用道具 举报

Lv2.观梦者

神隐的主犯

梦石
0
星屑
299
在线时间
271 小时
注册时间
2008-2-22
帖子
7691

贵宾

10
发表于 2009-4-6 09:58:07 | 只看该作者
  1. #==============================================================================
  2. # ■ Window_Help
  3. #------------------------------------------------------------------------------
  4. #  特技及物品的说明、角色的状态显示的窗口。
  5. #==============================================================================

  6. class Window_Help < Window_Base
  7.   #--------------------------------------------------------------------------
  8.   # ● 初始化对像
  9.   #--------------------------------------------------------------------------
  10.   def initialize
  11.     super(0, 0, 640, 128)
  12.     self.contents = Bitmap.new(width - 32, height - 32)
  13.     @contents_x = 0
  14.     @contents_y = 0
  15.     @text = nil
  16.   end
  17.   #--------------------------------------------------------------------------
  18.   # ● 设置文本
  19.   #     text  : 窗口显示的字符串
  20.   #     align : 对齐方式 (0..左对齐、1..中间对齐、2..右对齐)
  21.   #--------------------------------------------------------------------------
  22.   def set_text(text, align = 0)
  23.     # 如果文本和对齐方式的至少一方与上次的不同
  24.     if text != @text or align != @align
  25.       # 再描绘文本
  26.       show(text, align)
  27.       #@text = text
  28.       @align = align
  29.       @actor = nil      
  30.     end
  31.     self.visible = true
  32.   end
  33.   #--------------------------------------------------------------------------
  34.   # ● 设置角色
  35.   #     actor : 要显示状态的角色
  36.   #--------------------------------------------------------------------------
  37.   def set_actor(actor)
  38.     if actor != @actor
  39.       self.contents.clear
  40.       draw_actor_name(actor, 4, 0)
  41.       draw_actor_state(actor, 140, 0)
  42.       draw_actor_hp(actor, 284, 0)
  43.       draw_actor_sp(actor, 460, 0)
  44.       @actor = actor
  45.       @text = nil
  46.       self.visible = true
  47.     end
  48.   end
  49.   #--------------------------------------------------------------------------
  50.   # ● 设置敌人
  51.   #     enemy : 要显示名字和状态的敌人
  52.   #--------------------------------------------------------------------------
  53.   def set_enemy(enemy)
  54.     text = enemy.name
  55.     state_text = make_battler_state_text(enemy, 112, false)
  56.     if state_text != ""
  57.       text += "  " + state_text
  58.     end
  59.     set_text(text, 1)
  60.   end
  61.   #--------------------------------------------------------------------------
  62.   # ● 刷新
  63.   #--------------------------------------------------------------------------
  64.   def show(text, align)
  65.     self.contents.clear
  66.     texts = text.dup
  67.     texts.gsub!(/\\C\[([0-9]+)\]/i) { "\x01[#{$1}]" }
  68.     texts.gsub!(/\\N/i)             { "\x00" }
  69.     texts.gsub!(/\\\\/)             { "\\" }
  70.     contents_x = 0
  71.     contents_y = 0
  72.     loop do
  73.       c = texts.slice!(/./m)            # 获取一个文字
  74.       case c
  75.       when nil                          # 无法获取文字时
  76.         break
  77.       when "\x00"                       # 新行
  78.         contents_x = 0
  79.         contents_y += 32
  80.       when "\x01"                       # \C[n](文字变色)
  81.         @text.sub!(/\[([0-9]+)\]/, "")
  82.         contents.font.color = text_color($1.to_i)
  83.         next
  84.       else                              # 一般文字
  85.         contents.draw_text(contents_x, contents_y, 40, 24, c, align)
  86.         c_width = contents.text_size(c).width
  87.         contents_x += c_width
  88.       end
  89.     end   
  90.   end
  91. end
复制代码


用法和对话差不多。不过只支持 \c[x] 和 \n
系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~

《天空之城 —— 破碎的命运》
回复 支持 反对

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

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

GMT+8, 2025-1-16 14:12

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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