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

Project1

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

[已经解决] 用了800X600分辨率后对话窗口字不对。

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
149 小时
注册时间
2008-5-19
帖子
223
跳转到指定楼层
1
发表于 2012-6-27 00:08:42 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
   如图所示,字到一半就提行了,如何解决。

Lv3.寻梦者 (版主)

八宝粥的基叔

梦石
0
星屑
4699
在线时间
5240 小时
注册时间
2009-4-29
帖子
14318

贵宾

2
发表于 2012-6-27 12:56:19 | 只看该作者
本帖最后由 protosssonny 于 2012-6-27 12:56 编辑

因为游戏窗口的宽度提高到了800,文字显示区域也被加宽,原来的文字不变,所以显示一半就换行了。解决的办法就是减小文字窗口的宽度。

点评

OK解决了  发表于 2012-6-27 23:12
帮人帮到底吧 怎么减小  发表于 2012-6-27 23:04
《逝去的回忆3:四叶草之梦》真情发布,欢迎点击图片下载试玩喵。

《逝去的回忆3》的讨论群:
一群:192885514
二群:200460747
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
21 小时
注册时间
2012-7-23
帖子
6
3
发表于 2012-7-23 19:31:03 | 只看该作者
你好 我也遇到这问题了- -
求解@wapwb520pwb

点评

改宽度和高度 具体看柳大的说明。 还有个办法就是使用呼出式对话框,点我空间里有。  发表于 2012-7-24 13:03
回复

使用道具 举报

Lv1.梦旅人

66RPG站长

梦石
0
星屑
54
在线时间
615 小时
注册时间
2005-10-10
帖子
5734

RMVX自由创作大赛亚军第2届短篇游戏比赛亚军第5届短篇游戏比赛冠军

4
发表于 2012-7-24 12:09:55 | 只看该作者
dgbill 发表于 2012-7-23 19:31
你好 我也遇到这问题了- -
求解@wapwb520pwb

Window_Message里面的:super(0, 288, 544, 128)
四个数字:左上角x,左上角y,宽度,高度
也可在他的def reset_window里面调,里面的self.y=XX就是调整坐标,可以类似地追加self.x=XX,self.width=XX等。
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
21 小时
注册时间
2012-7-23
帖子
6
5
发表于 2012-7-24 21:41:32 | 只看该作者
柳柳 发表于 2012-7-24 12:09
Window_Message里面的:super(0, 288, 544, 128)
四个数字:左上角x,左上角y,宽度,高度
也可在他的def ...

柳柳大大,我2种方法都根据试过了 还是一样- -


回复

使用道具 举报

Lv1.梦旅人

66RPG站长

梦石
0
星屑
54
在线时间
615 小时
注册时间
2005-10-10
帖子
5734

RMVX自由创作大赛亚军第2届短篇游戏比赛亚军第5届短篇游戏比赛冠军

6
发表于 2012-7-25 11:16:43 | 只看该作者
= =b
这是你在编辑器的对话窗口里面输入的换行吧……那个对话窗口长度有限,过了长度会自动加入换行的。

原理是这行:
      when "\x00"                       # 新行
        new_line
        if @line_count >= MAX_LINE      # 当行数已至最大行数
          unless @text.empty?           # 并还有有等待显示的文字时
            self.pause = true           # 等待输入
            break
          end
        end

如果你不想用这个自动换行,可以手动定义一个换行符,比如简单的,把\x00改为\x07,这样只有你输入\<才能换行(当然,原来\<的功能要干掉)。然后在下面加入一个自动换行功能:

        if @contents_x > self.width - 48
          new_line
          if @line_count >= MAX_LINE      # 当行数已至最大行数
            unless @text.empty?           # 并还有有等待显示的文字时
              self.pause = true           # 等待输入
              break
            end
          end
        end

全改过之后的本段脚本如下:
RUBY 代码复制
  1. #--------------------------------------------------------------------------
  2.   # ● 更新文章显示
  3.   #--------------------------------------------------------------------------
  4.   def update_message
  5.     loop do
  6.       c = @text.slice!(/./m)            # 获取一个文字
  7.       case c
  8.       when nil                          # 无法获取文字时
  9.         finish_message                  # 结束文章更新
  10.         break
  11.       when "\x07"                       # 手动换行用 \<
  12.         new_line
  13.         if @line_count >= MAX_LINE      # 当行数已至最大行数
  14.           unless @text.empty?           # 并还有有等待显示的文字时
  15.             self.pause = true           # 等待输入
  16.             break
  17.           end
  18.         end
  19.       when "\x01"                       # \C[n](文字变色)
  20.         @text.sub!(/\[([0-9]+)\]/, "")
  21.         contents.font.color = text_color($1.to_i)
  22.         next
  23.       when "\x02"                       # \G  (显示金钱)
  24.         @gold_window.refresh
  25.         @gold_window.open
  26.       when "\x03"                       # \.  (等待四分之一秒)
  27.         @wait_count = 15
  28.         break
  29.       when "\x04"                       # \|  (等待一秒)
  30.         @wait_count = 60
  31.         break
  32.       when "\x05"                       # \!  (等待输入)
  33.         self.pause = true
  34.         break
  35.       when "\x06"                       # \>  (瞬间表示on)
  36.         @line_show_fast = true
  37.       #when "\x07"                       # \<  (瞬间表示off)
  38.         #@line_show_fast = false
  39.       when "\x08"                       # \^  (不等待输入)
  40.         @pause_skip = true
  41.       else                              # 一般文字
  42.         contents.draw_text(@contents_x, @contents_y, 40, WLH, c)
  43.         c_width = contents.text_size(c).width
  44.         @contents_x += c_width
  45.         if @contents_x > self.width - 48
  46.           new_line
  47.           if @line_count >= MAX_LINE      # 当行数已至最大行数
  48.             unless @text.empty?           # 并还有有等待显示的文字时
  49.               self.pause = true           # 等待输入
  50.               break
  51.             end
  52.           end
  53.         end
  54.       end
  55.       break unless @show_fast or @line_show_fast
  56.     end
  57.   end


用了上面这种方法,大部分对话你只要一直打字就行了,会自动换行的。手动换行用\< 即可
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-24 03:26

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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