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

Project1

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

怎么使说明文字换行

 关闭 [复制链接]

Lv1.梦旅人

魔王 ⑨

梦石
0
星屑
95
在线时间
380 小时
注册时间
2006-10-16
帖子
4299

贵宾

跳转到指定楼层
1
发表于 2009-5-11 00:39:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
就是上面写一段下面写一段……,数据库里面可以用逗号隔开判定……

Lv2.观梦者

神隐的主犯

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

贵宾

2
发表于 2009-5-11 00:43:46 | 只看该作者
弄错了,屏蔽~
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
60
在线时间
41 小时
注册时间
2008-3-5
帖子
2072
3
发表于 2009-5-11 00:56:40 | 只看该作者
仅做参考

  def talk_view_update(str="")
    return if str == ""
    x = 0
    @line += 1
    move_line
    @talkview[@line].bitmap.font.size = 12
    # 有等待显示的文字的情况下
    if str != nil
      text = str.dup
      # 限制文字处理
      begin
        last_text = text.clone
        text.gsub!(/\\[Vv]\[([0-9]+)\]/) { $game_variables[$1.to_i] }
      end until text == last_text
      text.gsub!(/\\[Nn]\[([0-9]+)\]/) do
        $game_actors[$1.to_i] != nil ? $game_actors[$1.to_i].name : ""
      end
      # 为了方便、将 "\\\\" 变换为 "\000"
      text.gsub!(/\\\\/) { "\000" }
      # "\\C" 变为 "\001" に、"\\G" 变为 "\002"
      text.gsub!(/\\[Cc]\[([0-9]+)\]/) { "\001[#{$1}]" }
      text.gsub!(/\\[Ss]\[([0-9]+)\]/) { "\002[#{$1}]" }
      # "\P" 变为 "\003"
      text.gsub!(/\\[Pp]/) { "\003" }
      # c 获取 1 个字 (如果不能取得文字就循环)
      while ((c = text.slice!(/./m)) != nil)
        # \\ 的情况下
        if c == "\000"
          # 还原为本来的文字
          c = "\\"
        end
        # \C[n] 的情况下
        if c == "\001"
          # 更改文字色
          text.sub!(/\[([0-9]+)\]/, "")
          color = $1.to_i
          if color >= 0 and color <= 7
            @talkview[@line].bitmap.font.color = text_color(color)
          end
          # 下面的文字
          next
        end
        # \S[n] 的情况下
        if c == "\002"
          # 更改字体大小
          text.sub!(/\[([0-9]+)\]/, "")
          size = $1.to_i > 12 ? 12 : $1.to_i
          @talkview[@line].bitmap.font.size = size
        end
        # 图片的情况下
        if c == "\003"
          pic_name = ''
          while ((cha = text.slice!(/./m)) != ']')
            next if cha == '['
            pic_name += cha
          end
          pic = RPG::Cache.picture(pic_name)
          #@talkview[t].y += pic.height if @talkview[t].y + pic.height > 480
          @talkview[@line].bitmap.blt(x + 4, @talkview[@line].y+1, pic, Rect.new(0, 0, pic.width, pic.height))
          x += pic.width
          next
        end
        if x > 150-12
          # y 加 1
          @line += 1
          x = 0
          move_line
          # 下面的文字
          next
        end
        # 另起一行文字的情况下
        if c == "\n"
          # y 加 1
          @line += 1
          x = 0
          # 下面的文字
          next
        end
        # 描绘文字
        @talkview[@line].bitmap.draw_text(4 + x, 1, 20, 12, c)
        # x 为要描绘文字的加法运算
        x += @talkview[@line].bitmap.text_size(c).width
      end
      
    end

  end
你它囧一字母君谁记得……
当时那把剑离我的喉咙只有0.01工分。可是一柱香之后,这个女主人会深深的爱上我,虽然本人平生说了无数的谎话,可是这句最有效:“你应该这么做,我也应该死。
曾经有一取ID的机会放在我面前,我没有珍惜,等我失去的时候我才后悔莫及,人世间最痛苦的事莫过于此。你的剑在我的咽喉上割下去吧!不用再犹豫了!如果上天能够给我一个再来一次的机会,我绝对会取个汉字君。如果非要给这ID加点修饰的话,我希望是……红色加粗……

回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人

梦石
0
星屑
49
在线时间
143 小时
注册时间
2009-3-21
帖子
496
4
发表于 2009-5-11 01:32:11 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
21 小时
注册时间
2007-7-3
帖子
573
5
发表于 2009-5-12 17:01:18 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

魔王 ⑨

梦石
0
星屑
95
在线时间
380 小时
注册时间
2006-10-16
帖子
4299

贵宾

6
 楼主| 发表于 2009-5-13 18:26:23 | 只看该作者
第一种我回去试试,不过最近也有点思路了
回复 支持 反对

使用道具 举报

Lv1.梦旅人

魔王 ⑨

梦石
0
星屑
95
在线时间
380 小时
注册时间
2006-10-16
帖子
4299

贵宾

7
 楼主| 发表于 2009-5-14 06:58:07 | 只看该作者
不好意思,都没用上,最终自己解决了
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-1-15 13:10

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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