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

Project1

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

[已经解决] 物品说明加强脚本怎么多加一行说明?

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
49
在线时间
76 小时
注册时间
2006-7-7
帖子
194
跳转到指定楼层
1
发表于 2009-7-24 12:28:59 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
  1. #==============================================================================
  2. # ◎ GPRA_Window_Help
  3. #------------------------------------------------------------------------------
  4. # ◎ 特技及物品的说明、角色的状态显示的窗口加强。
  5. #------------------------------------------------------------------------------
  6. # 制作者:绿梨子红苹果
  7. # 个人主页:vbgm.9126.com
  8. # E-Mail:[email protected]
  9. # QQ:42378361
  10. #==============================================================================

  11. class Window_Help_New < Window_Base
  12. #--------------------------------------------------------------------------
  13. # ● 初始化对像
  14. #--------------------------------------------------------------------------
  15. def initialize
  16.    super(0, 0, 680, 360)
  17.    self.contents = Bitmap.new(width - 32, height - 32)
  18.    self.opacity =  0##
  19. end
  20. #--------------------------------------------------------------------------
  21. # ● 设置文本
  22. #     text  : 窗口显示的字符串
  23. #     align : 对齐方式
  24. #--------------------------------------------------------------------------
  25. def set_text(text, align = 0)
  26.    # 如果文本和对齐方式的至少一方与上次的不同
  27.    if text != @text or align != @align
  28.      # 清空原来的文字内容
  29.      self.contents.clear
  30.      # 设置颜色为默认颜色
  31.      self.contents.font.color = normal_color
  32.      # 定义变量记录文字行数
  33.      l=0
  34.      # 定义数组分别记录每行文字内容
  35.      s=["","",""]
  36.      # 利用临时变量存储text内容
  37.      temp=text.dup
  38.      # 首先处理文本,将"\\n"全部替换成换行符"\n"
  39.      temp.gsub!(/\\n/) { "\n" }
  40.      # c 获取 1 个字 (如果不能取得文字就退出循环)
  41.      while ((c = temp.slice!(/./m)) != nil)
  42.        # 另起一行文字的情况下
  43.        if c == "\n"
  44.          # 当超过3行时(0行开始,所以这里是2)
  45.          if l >= 2
  46.            # 退出循环体
  47.            break
  48.          end
  49.          # 否则l自增1
  50.          l += 2
  51.        end
  52.        # 不是换行符的其他情况
  53.        s[l]=s[l]+c
  54.      end
  55.      # 根据文字的行数进行不同的绘制
  56.      case l
  57.      when 0
  58.        self.contents.font.size = 14
  59.        self.contents.font.color.set(0, 0, 0)##这里改为你要的颜色
  60.        self.contents.draw_text(317, -10, self.width - 40, 32, s[0], align)
  61.      when 1
  62.        self.contents.font.size = 14
  63.        self.contents.font.color.set(0, 0, 0)##这里改为你要的颜色
  64.        self.contents.draw_text(317, -10, self.width - 40, 32, s[0], align)
  65.        self.contents.draw_text(317, 10, self.width - 40, 32, s[1], align)
  66.      when 2
  67.        self.contents.font.size = 14
  68.        self.contents.font.color.set(0, 0, 0)##这里改为你要的颜色
  69.        self.contents.draw_text(317, -10, self.width - 40, 32, s[0], align)
  70.        self.contents.draw_text(317, 10, self.width - 40, 32, s[1], align)
  71.        self.contents.draw_text(317, 30, self.width - 40, 32, s[2], align)
  72.      # 保存此次绘图时的参数值
  73.      @text = text
  74.      @align = align
  75.      @actor = nil
  76.    end
  77.    # 可见状态为真
  78.    self.visible = true
  79. end
  80. #--------------------------------------------------------------------------
  81. # ● 设置角色
  82. #     actor : 要显示状态的角色
  83. #--------------------------------------------------------------------------
  84. def set_actor(actor)
  85.    if actor != @actor
  86.      self.contents.clear
  87.      draw_actor_name(actor, 4, 0)
  88.      draw_actor_state(actor, 140, 0)
  89.      draw_actor_hp(actor, 284, 0)
  90.      draw_actor_sp(actor, 460, 0)
  91.      @actor = actor
  92.      @text = nil
  93.      self.visible = true
  94.    end
  95. end
  96. #--------------------------------------------------------------------------
  97. # ● 设置敌人
  98. #     enemy : 要显示名字和状态的敌人
  99. #--------------------------------------------------------------------------
  100. def set_enemy(enemy)
  101.    text = enemy.name
  102.    state_text = make_battler_state_text(enemy,false)
  103.    if state_text != ""
  104.      text += " " + state_text
  105.    end
  106.    set_text(text, 1)
  107. end
  108. end

复制代码


就是这脚本只能描绘3行的说明,我想加一行,就是4行。
但是修改了“if l >=”和加了个“when 4 ”都不行。不知道怎么搞。请各位前辈帮帮忙。谢谢。。

Lv3.寻梦者

孤独守望

梦石
0
星屑
3132
在线时间
1535 小时
注册时间
2006-10-16
帖子
4321

开拓者贵宾

2
发表于 2009-7-24 12:52:03 | 只看该作者
         # 当超过3行时(0行开始,所以这里是2)

         if l >= 2

           # 退出循环体

           break

         end

把那个数字改成3。然后适当扩大super的最后一个数字(一般来说+24)
另外,还要写一个when 3
菩提本非树,明镜本非台。回头自望路漫漫。不求姻缘,但求再见。
本来无一物,何处惹尘埃。风打浪吹雨不来。荒庭遍野,扶摇难接。
不知道多久更新一次的博客
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
49
在线时间
76 小时
注册时间
2006-7-7
帖子
194
3
 楼主| 发表于 2009-7-24 12:59:36 | 只看该作者
  1. #==============================================================================
  2. # ◎ GPRA_Window_Help
  3. #------------------------------------------------------------------------------
  4. # ◎ 特技及物品的说明、角色的状态显示的窗口加强。
  5. #------------------------------------------------------------------------------
  6. # 制作者:绿梨子红苹果
  7. # 个人主页:vbgm.9126.com
  8. # E-Mail:[email protected]
  9. # QQ:42378361
  10. #==============================================================================

  11. class Window_Help_New < Window_Base
  12. #--------------------------------------------------------------------------
  13. # ● 初始化对像
  14. #--------------------------------------------------------------------------
  15. def initialize
  16.    super(0, 0, 680, 999)
  17.    self.contents = Bitmap.new(width - 32, height - 32)
  18.    self.opacity =  0##
  19. end
  20. #--------------------------------------------------------------------------
  21. # ● 设置文本
  22. #     text  : 窗口显示的字符串
  23. #     align : 对齐方式
  24. #--------------------------------------------------------------------------
  25. def set_text(text, align = 0)
  26.    # 如果文本和对齐方式的至少一方与上次的不同
  27.    if text != @text or align != @align
  28.      # 清空原来的文字内容
  29.      self.contents.clear
  30.      # 设置颜色为默认颜色
  31.      self.contents.font.color = normal_color
  32.      # 定义变量记录文字行数
  33.      l=0
  34.      # 定义数组分别记录每行文字内容
  35.      s=["","",""]
  36.      # 利用临时变量存储text内容
  37.      temp=text.dup
  38.      # 首先处理文本,将"\\n"全部替换成换行符"\n"
  39.      temp.gsub!(/\\n/) { "\n" }
  40.      # c 获取 1 个字 (如果不能取得文字就退出循环)
  41.      while ((c = temp.slice!(/./m)) != nil)
  42.        # 另起一行文字的情况下
  43.        if c == "\n"
  44.          # 当超过3行时(0行开始,所以这里是2)
  45.          if l >= 3
  46.            # 退出循环体
  47.            break
  48.          end
  49.          # 否则l自增1
  50.          l += 2
  51.        end
  52.        # 不是换行符的其他情况
  53.        s[l]=s[l]+c
  54.      end
  55.      # 根据文字的行数进行不同的绘制
  56.      case l
  57.      when 0
  58.        self.contents.font.size = 14
  59.        self.contents.font.color.set(0, 0, 0)##这里改为你要的颜色
  60.        self.contents.draw_text(317, -10, self.width - 40, 32, s[0], align)
  61.      when 1
  62.        self.contents.font.size = 14
  63.        self.contents.font.color.set(0, 0, 0)##这里改为你要的颜色
  64.        self.contents.draw_text(317, -10, self.width - 40, 32, s[0], align)
  65.        self.contents.draw_text(317, 10, self.width - 40, 32, s[1], align)
  66.      when 2
  67.        self.contents.font.size = 14
  68.        self.contents.font.color.set(0, 0, 0)##这里改为你要的颜色
  69.        self.contents.draw_text(317, -10, self.width - 40, 32, s[0], align)
  70.        self.contents.draw_text(317, 10, self.width - 40, 32, s[1], align)
  71.        self.contents.draw_text(317, 30, self.width - 40, 32, s[2], align)
  72.      when 3
  73.        self.contents.font.size = 14
  74.        self.contents.font.color.set(0, 0, 0)##这里改为你要的颜色
  75.      self.contents.draw_text(317, -10, self.width - 40, 32, s[0], align)
  76.        self.contents.draw_text(317, 10, self.width - 40, 32, s[1], align)
  77.        self.contents.draw_text(317, 25, self.width - 40, 32, s[2], align)  
  78.        self.contents.draw_text(317, 35, self.width - 40, 32, s[3], align)  
  79.      end
  80.      # 保存此次绘图时的参数值
  81.      @text = text
  82.      @align = align
  83.      @actor = nil
  84.    end
  85.    # 可见状态为真
  86.    self.visible = true
  87. end
  88. #--------------------------------------------------------------------------
  89. # ● 设置角色
  90. #     actor : 要显示状态的角色
  91. #--------------------------------------------------------------------------
  92. def set_actor(actor)
  93.    if actor != @actor
  94.      self.contents.clear
  95.      draw_actor_name(actor, 4, 0)
  96.      draw_actor_state(actor, 140, 0)
  97.      draw_actor_hp(actor, 284, 0)
  98.      draw_actor_sp(actor, 460, 0)
  99.      @actor = actor
  100.      @text = nil
  101.      self.visible = true
  102.    end
  103. end
  104. #--------------------------------------------------------------------------
  105. # ● 设置敌人
  106. #     enemy : 要显示名字和状态的敌人
  107. #--------------------------------------------------------------------------
  108. def set_enemy(enemy)
  109.    text = enemy.name
  110.    state_text = make_battler_state_text(enemy,false)
  111.    if state_text != ""
  112.      text += " " + state_text
  113.    end
  114.    set_text(text, 1)
  115. end
  116. end

复制代码
不是这样吗?
但是提示
“s[l]=s[l]+c”这行出错
回复 支持 反对

使用道具 举报

Lv3.寻梦者

孤独守望

梦石
0
星屑
3132
在线时间
1535 小时
注册时间
2006-10-16
帖子
4321

开拓者贵宾

4
发表于 2009-7-24 13:12:35 | 只看该作者
啊不好意思- -
第36行
  1. s=["","",""]
复制代码
改成
  1. s=["","","",""]
复制代码
菩提本非树,明镜本非台。回头自望路漫漫。不求姻缘,但求再见。
本来无一物,何处惹尘埃。风打浪吹雨不来。荒庭遍野,扶摇难接。
不知道多久更新一次的博客
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
49
在线时间
76 小时
注册时间
2006-7-7
帖子
194
5
 楼主| 发表于 2009-7-24 13:20:55 | 只看该作者
本帖最后由 海的那边 于 2009-7-24 15:12 编辑

好像还是不行,还是54行错误。。汗.....


行了,是我自己的失误,谢谢IamI。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-24 17:37

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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