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

Project1

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

[RMVA发布] [创意]物品装备双图标显示

[复制链接]

Lv1.梦旅人

小黑

梦石
0
星屑
50
在线时间
140 小时
注册时间
2011-8-23
帖子
536
跳转到指定楼层
1
发表于 2012-7-21 16:29:31 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 咚小黑 于 2012-7-21 17:55 编辑

效果图:






脚本:用法不解释
  1. #==============================================================================
  2. #   来自:rpg.blue
  3. #   创意者:小黑
  4. #  脚本:《双图标显示》
  5. #===========================================
  6. #   用法:
  7. #   数据库=>图标
  8. #   选中的图标后面的图标也接着被显示,选择最后一个图标,则只显示一个图标。
  9. #   比如:选择图标顺序是 图标1,图标2,图标3。选择图标1,物品图标就是(图标1+图标2)
  10. #
  11. #==============================================================================

  12. class Window_Base < Window
  13.   #--------------------------------------------------------------------------
  14.   # ● 处理控制符指定的图标绘制
  15.   #--------------------------------------------------------------------------
  16.   def process_draw_icon(icon_index, pos)
  17.     draw_icon(icon_index, pos[:x], pos[:y])
  18.     pos[:x] += 24
  19.   end
  20.   #--------------------------------------------------------------------------
  21.   # ● 绘制图标
  22.   #     enabled : 有效的标志。false 的时候使用半透明效果绘制
  23.   #--------------------------------------------------------------------------
  24.   def draw_icon(icon_index, x, y, enabled = true)
  25.     bitmap = Cache.system("Iconset")
  26.     rect = Rect.new(icon_index % 16 * 24, icon_index / 16 * 24, 48, 24)
  27.     contents.blt(x, y, bitmap, rect, enabled ? 255 : translucent_alpha)
  28.   end
  29.   #--------------------------------------------------------------------------
  30.   # ● 绘制物品名称
  31.   #     enabled : 有效的标志。false 的时候使用半透明效果绘制
  32.   #--------------------------------------------------------------------------
  33.   def draw_item_name(item, x, y, enabled = true, width = 172)
  34.     return unless item
  35.     draw_icon(item.icon_index, x, y, enabled)
  36.     change_color(normal_color, enabled)
  37.     draw_text(x + 50, y, width, line_height, item.name)
  38.   end
  39. end
复制代码










认真修改,图标就是你的了。





那把我刚做的发出来:





【整合】

【物品双图标显示】+【物品品质颜色】
起码对得起自己。

Lv1.梦旅人

苍弩霸主

梦石
0
星屑
164
在线时间
423 小时
注册时间
2012-7-9
帖子
364
2
发表于 2012-7-21 16:44:56 | 只看该作者
朋友的写的。恩,不错很适合做ARPG游戏。
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1379
在线时间
962 小时
注册时间
2012-4-30
帖子
1475

开拓者

3
发表于 2012-7-21 17:33:14 | 只看该作者
如果是特定的物品使用这个效果会更好。。

点评

在这个图标后面挖空,就显示一个图标了。不过考虑整齐,所以每个图标都是站用两格子。(48 x 24)  发表于 2012-7-21 17:59
回复 支持 反对

使用道具 举报

Lv1.梦旅人

小黑

梦石
0
星屑
50
在线时间
140 小时
注册时间
2011-8-23
帖子
536
4
 楼主| 发表于 2012-7-21 17:50:59 | 只看该作者




[物品双图标显示]+[物品品质颜色]
  1. #==============================================================================
  2. #   来自:rpg.blue
  3. #   创意者:小黑
  4. #  脚本:《双图标显示》+《物品品质框》
  5. #===========================================
  6. #   双图用法:
  7. #   数据库=>图标
  8. #   选中的图标后面的图标也接着被显示,选择最后一个图标,则只显示一个图标。
  9. #   比如:选择图标顺序是 图标1,图标2,图标3。选择图标1,物品图标就是(图标1+图标2)
  10. #
  11. #   物品品质框:物品备注写上<品质 (等级)>    如:<品质 3>
  12. #   物品等级 >7 则不显示品质颜色(无色)
  13. #
  14. #====================R====B====G===========================================
  15. $Color_1 = Color.new(255, 255, 255)  # 一般品质的色彩(白,1)
  16. $Color_2 = Color.new(128, 255, 128)  # 平庸品质的色彩(绿,2)
  17. $Color_3 = Color.new(128, 128, 255)  # 精良品质的色彩(蓝,3)
  18. $Color_4 = Color.new(255, 0, 255)    # 卓越品质的色彩(紫,4)
  19. $Color_5 = Color.new(255, 128, 128)  # 神秘品质的色彩(红,5)
  20. $Color_6 = Color.new(255, 128, 0)    # 传说品质的色彩(橙,6)
  21. $Color_7 = Color.new(255, 255, 128)  # 特殊品质的色彩(黄,7)
  22. #
  23. #==============================================================================

  24. class Window_Base < Window
  25.   #--------------------------------------------------------------------------
  26.   # ● 处理控制符指定的图标绘制
  27.   #--------------------------------------------------------------------------
  28.   def process_draw_icon(icon_index, pos)
  29.     draw_icon(icon_index, pos[:x], pos[:y])
  30.     pos[:x] += 24
  31.   end
  32.   #--------------------------------------------------------------------------
  33.   # ● 绘制图标
  34.   #     enabled : 有效的标志。false 的时候使用半透明效果绘制
  35.   #--------------------------------------------------------------------------
  36.   def draw_icon(icon_index, x, y, enabled = true)
  37.     bitmap = Cache.system("Iconset")
  38.     rect = Rect.new(icon_index % 16 * 24, icon_index / 16 * 24, 48, 24)
  39.     contents.blt(x, y, bitmap, rect, enabled ? 255 : translucent_alpha)
  40.   end
  41.   #--------------------------------------------------------------------------
  42.   # ● 绘制物品名称
  43.   #     enabled : 有效的标志。false 的时候使用半透明效果绘制
  44.   #--------------------------------------------------------------------------
  45.   def draw_item_name(item, x, y, enabled = true, width = 172)
  46.     return unless item
  47.     draw_icon(item.icon_index, x, y, enabled)
  48.     change_color(normal_color, enabled)
  49.     draw_text(x + 50, y, width, line_height, item.name)
  50.   end
  51. end

  52. #==============================================================================
  53. # [PS0]物品颜色描绘
  54. #      Window_Base_Itemcolor
  55. #------------------------------------------------------------------------------
  56. #     在物品、技能选项中显示物品品质并显示品质框和修改物品名颜色。
  57. #==============================================================================
  58. #==============================================================================
  59. $_PS0 = {} if $_PS0 == nil  
  60. $_PS0["Window_Base_Itemcolor"] = 20111227
  61. #==============================================================================
  62. # [PS0] 通用配置模块  
  63. #==============================================================================
  64. module PS0
  65.   module Window_Base_Itemcolor
  66.     Color1 = $Color_1
  67.     Color2 = $Color_2
  68.     Color3 = $Color_3
  69.     Color4 = $Color_4
  70.     Color5 = $Color_5
  71.     Color6 = $Color_6
  72.     Color7 = $Color_7
  73.   end
  74. end
  75. #==============================================================================
  76. # ■ Window_Base
  77. #==============================================================================
  78. class Window_Base < Window
  79.   def draw_item_name(item, x, y, enabled = true, width = 172)
  80.     if item != nil
  81.       n = item.note
  82.       a = n.split{/<(?:Quality|品质)\s*(.+)>/i}
  83.       c = a[1].to_i
  84.       if c <= 1
  85.         color = PS0::Window_Base_Itemcolor::Color1
  86.       elsif c == 2
  87.         color = PS0::Window_Base_Itemcolor::Color2
  88.       elsif c == 3
  89.         color = PS0::Window_Base_Itemcolor::Color3
  90.       elsif c == 4
  91.         color = PS0::Window_Base_Itemcolor::Color4
  92.       elsif c == 5
  93.         color = PS0::Window_Base_Itemcolor::Color5
  94.       elsif c == 6
  95.         color = PS0::Window_Base_Itemcolor::Color6
  96.       elsif c == 7
  97.         color = PS0::Window_Base_Itemcolor::Color7
  98.       else
  99.         color = Color.new(0, 0, 0, 0)
  100.       end
  101.       self.contents.fill_rect(x, y, 48, 1, color)
  102.       self.contents.fill_rect(x, y, 1, 24, color)
  103.       self.contents.fill_rect(x, y+24, 48, 1, color)
  104.       self.contents.fill_rect(x+47, y, 1, 24, color)
  105.       draw_icon(item.icon_index, x, y, enabled)
  106.       change_color(color, enabled)              #如果想改变字体颜色删除这行
  107.       draw_text(x + 50, y, width, line_height, item.name)
  108.     end
  109.   end
  110. end
  111. #==============================================================================
  112. # [PS0] End of Script
  113. #==============================================================================
复制代码
起码对得起自己。
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1379
在线时间
962 小时
注册时间
2012-4-30
帖子
1475

开拓者

5
发表于 2012-7-21 19:03:50 | 只看该作者
本帖最后由 铅笔描绘的思念 于 2012-7-21 19:05 编辑

如果是要显示一个图标图标后面再空掉24x24的空间。。Iconset会变得很大的。。
  1. #==============================================================================
  2. #   来自:rpg.blue
  3. #   创意者:小黑 + 铅笔描绘的思念
  4. #  脚本:《双图标显示》
  5. #===========================================
  6. #   用法:
  7. #   数据库=>图标
  8. #   在物品\技能 备注中 加 < double icon > 后 选中的图标后面的图标也接着被显示
  9. #   如果没有则只显示一个图标
  10. #   比如:选择图标顺序是 图标1,图标2,图标3。选择图标1,物品图标就是(图标1+图标2)
  11. #   
  12. #==============================================================================

  13. class Window_Base < Window
  14.   #--------------------------------------------------------------------------
  15.   # ● 处理控制符指定的图标绘制
  16.   #--------------------------------------------------------------------------
  17.   def process_draw_icon(icon_index, pos)
  18.     draw_icon(icon_index, pos[:x], pos[:y])
  19.     pos[:x] += 24
  20.   end
  21.   #--------------------------------------------------------------------------
  22.   # ● 绘制双个图标
  23.   #     enabled : 有效的标志。false 的时候使用半透明效果绘制
  24.   #--------------------------------------------------------------------------
  25.   def draw_icon_double(icon_index, x, y, enabled = true)
  26.     bitmap = Cache.system("Iconset")
  27.     rect = Rect.new(icon_index % 16 * 24, icon_index / 16 * 24, 48, 24)
  28.     contents.blt(x, y, bitmap, rect, enabled ? 255 : translucent_alpha)
  29.   end
  30.   #--------------------------------------------------------------------------
  31.   # ● 绘制物品名称
  32.   #     enabled : 有效的标志。false 的时候使用半透明效果绘制
  33.   #--------------------------------------------------------------------------
  34.   def draw_item_name(item, x, y, enabled = true, width = 172)
  35.     return unless item
  36.     if /< double icon >/i =~ item.note
  37.       draw_icon_double(item.icon_index, x, y, enabled)
  38.     else  
  39.       draw_icon(item.icon_index, x, y, enabled)
  40.     end  
  41.     change_color(normal_color, enabled)
  42.     draw_text(x + 50, y, width, line_height, item.name)
  43.   end
  44. end
复制代码
我才不会说我是来拆台的呢 。。

点评

不会啊,不会拉长的,只是显示在图标后面有一块空出来  发表于 2012-7-21 19:35
我是不是发错了? 24*24是一个图标的尺寸,48是两个  发表于 2012-7-21 19:33
回复 支持 反对

使用道具 举报

Lv1.梦旅人

小黑

梦石
0
星屑
50
在线时间
140 小时
注册时间
2011-8-23
帖子
536
6
 楼主| 发表于 2012-7-21 19:37:09 | 只看该作者
本帖最后由 咚小黑 于 2012-7-21 19:41 编辑
铅笔描绘的思念 发表于 2012-7-21 19:03
如果是要显示一个图标图标后面再空掉24x24的空间。。Iconset会变得很大的。。我才不会说我是来拆台的呢{:4_ ...


我也觉得了



然后想出法子了,把这个图标放在1和2的中间,哈哈哈哈
起码对得起自己。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-15 18:23

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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