查看: 8613|回复: 11

[RMVA发布] 物品颜色边框描绘 改良★

[复制链接]

花开堪折直须折

梦石
0
星屑
916
在线时间
943 小时
注册时间
2010-7-17
回帖
4599

贵宾

发表于 2012-12-1 16:09:54 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 冰舞蝶恋 于 2012-12-1 16:28 编辑

[pre lang="ruby" line="1"]#==============================================================================
# [PS0]物品颜色描绘
#      Window_Base_Itemcolor
#------------------------------------------------------------------------------
#     在物品、技能选项中显示物品品质并显示品质框和修改物品名颜色。
#==============================================================================
# [更新记录]
#    - 2012.12.01 By 冰舞蝶恋
#      * 增加底面描绘色彩(这个好难描述=m=)
#      * 改良文字排版,使文字不再紧凑贴合色彩框
#      * 调换优先级,使边框不会为大图标所遮挡
#    - 2012.01.03 By 仲秋启明
#      * 修改为VA定义
#    - 2011.12.27 By 仲秋启明
#      * 移植至RGSS3,遵循PS0协议;
#      * 优化数据库备注中设定方法
#    - 2011.08.22 By 冰舞蝶恋
#      * 蓝本(实用·极简 -- 按品质,给物品描绘色彩边框)
#    - 2010.08.06 By 仲秋启明
#      * 蓝本(物品颜色描绘脚本(完整无冲突版))
#------------------------------------------------------------------------------
# [使用方法]
#    - 替换原Window_Base中的draw_item_name定义或复制到Main之前
#==============================================================================
$_PS0 = {} if $_PS0 == nil  
$_PS0["Window_Base_Itemcolor"] = 20121201
#==============================================================================
# [PS0] 通用配置模块  
#==============================================================================
module PS0
  module Window_Base_Itemcolor
    Color1 = [Color.new(255, 255, 255),
              Color.new(255, 255, 255, 160)]  # 一般品质的色彩(白,1)
              
    Color2 = [Color.new(128, 255, 128),
              Color.new(128, 255, 128, 160)]  # 平庸品质的色彩(绿,2)
              
    Color3 = [Color.new(128, 128, 255),
              Color.new(128, 128, 255, 160)]  # 精良品质的色彩(蓝,3)
              
    Color4 = [Color.new(255, 0,   255),
              Color.new(255, 0,   255, 160)]  # 卓越品质的色彩(紫,4)
              
    Color5 = [Color.new(255, 128, 128),
              Color.new(255, 128, 128, 160)]  # 神秘品质的色彩(红,5)
              
    Color6 = [Color.new(255, 128, 0  ),
              Color.new(255, 128, 0  , 160)]  # 传说品质的色彩(橙,6)
              
    Color7 = [Color.new(255, 255, 128),
              Color.new(255, 255, 128, 160)]  # 特殊品质的色彩(黄,7)
  end
end
#==============================================================================
# ■ Window_Base
#==============================================================================
class Window_Base < Window
  def draw_item_name(item, x, y, enabled = true, width = 172)
    if item != nil
      n = item.note
      a = n.split{/<(?:Quality|品质)\s*(.+)>/i}
      c = a[1].to_i
      if c <= 1
        color = PS0::Window_Base_Itemcolor::Color1[0]
        back = PS0::Window_Base_Itemcolor::Color1[1]
      elsif c == 2
        color = PS0::Window_Base_Itemcolor::Color2[0]
        back = PS0::Window_Base_Itemcolor::Color2[1]
      elsif c == 3
        color = PS0::Window_Base_Itemcolor::Color3[0]
        back = PS0::Window_Base_Itemcolor::Color3[1]
      elsif c == 4
        color = PS0::Window_Base_Itemcolor::Color4[0]
        back = PS0::Window_Base_Itemcolor::Color4[1]
      elsif c == 5
        color = PS0::Window_Base_Itemcolor::Color5[0]
        back = PS0::Window_Base_Itemcolor::Color5[1]
      elsif c == 6
        color = PS0::Window_Base_Itemcolor::Color6[0]
        back = PS0::Window_Base_Itemcolor::Color6[1]
      elsif c == 7
        color = PS0::Window_Base_Itemcolor::Color7[0]
        back = PS0::Window_Base_Itemcolor::Color7[1]
      else
        color = Color.new(0, 0, 0, 0)
        back = Color.new(0, 0, 0, 0)
      end
      self.contents.fill_rect(x, y, 24, 24, back)
      draw_icon(item.icon_index, x, y, enabled)
      self.contents.fill_rect(x, y, 24, 1, color)
      self.contents.fill_rect(x, y, 1, 24, color)
      self.contents.fill_rect(x, y+23, 24, 1, color)
      self.contents.fill_rect(x+23, y, 1, 24, color)
      change_color(color, enabled)
      draw_text(x + 30, y, width, line_height, item.name)
    end
  end
end
#==============================================================================
# [PS0] End of Script
#==============================================================================[/pre]


★ 关于半透明的写法我个人觉得好麻烦……大家有什么好的建议吗?
关于第一点个人表述能力不够,大家可能不能理解,在此利用某游戏的一张截图作为示范。
360截图20121201160830400.png 本游戏欢迎大家来坑=v=!~
小小广告一下=m=
http://rpg.blue/thread-250560-1-1.html

点评

用法不变。依旧是<品质 x>,x代表品质等级,当x大于7时不描绘边框。  发表于 2012-12-1 16:29
喔我穷死了,求塞糖=m=  发表于 2012-12-1 16:22

评分

参与人数 9星屑 +828 收起 理由
冲啊小笼包 + 20 精品文章
acn00269 + 100
仲秋启明 + 200 塞糖塞糖
satgo1546 + 6 有爱的脚本
菜鸟飞呀飞 + 30 妹纸好…
无名小兵 + 12 塞糖 塞糖 塞糖 塞糖 塞糖 塞糖.
feizhaodan + 300 奖赏条例
迷糊的安安 + 100 塞糖塞糖=v=
草莓 + 60 塞糖

查看全部评分

大家好,我叫节操,有一天,我被吃了。
http://forever-dream.5d6d.com
永恒の梦制作组论坛

129993099
永恒の梦制作组QQ群
梦石
0
星屑
50
在线时间
687 小时
注册时间
2012-10-29
回帖
1526
发表于 2012-12-1 16:29:24 | 显示全部楼层
半透明是指?菜单背景?图标?

点评

嗯……如你所见,是那个边框的背景………  发表于 2012-12-1 16:41
修改劇本中,仔細審查原來的劇情大綱,覺得有點不太滿意,嘗試編寫不同主角不同主線的劇情,希望能寫得出來。
回复

使用道具 举报

梦石
0
星屑
50
在线时间
687 小时
注册时间
2012-10-29
回帖
1526
发表于 2012-12-1 18:44:05 | 显示全部楼层
  1. #===========================================================================
  2. # Window Color Opacity - v1.0
  3. # Author: Melkino
  4. #===========================================================================

  5. $imported = {} if $imported.nil?
  6. $imported["MK-WindowOpacity"] = true

  7. #-------------------------------------------------------------------------
  8. # ▼ About
  9. #-------------------------------------------------------------------------
  10. # This script lets you change the opacity of the colored portion of game
  11. # windows. Window borders are unaffected, though.
  12. #
  13. #-------------------------------------------------------------------------
  14. # ▼ Installation
  15. #-------------------------------------------------------------------------
  16. # Paste below Materials and above Main.
  17. #
  18. #-------------------------------------------------------------------------
  19. # ▼ Updates
  20. #-------------------------------------------------------------------------
  21. # May 9, 2012 - Started & finished script
  22. #
  23. #-------------------------------------------------------------------------

  24. class Window_Base < Window

  25. module MK_WIN_OPA
  26.   
  27.     # Input a value between 0-255.
  28.     # 0 makes windows fully transparent, while 255 makes them opaque.
  29.     OPACITY = 120 #<-不透明度改这个值 0-255
  30.   
  31. end #module
  32.   
  33. #===========================================================================
  34. #  Customization ends here.
  35. #===========================================================================

  36.   #--------------------------------------------------------------------------
  37.   # * Object Initialization
  38.   #--------------------------------------------------------------------------
  39.   
  40.   alias mk_initialize initialize
  41.   def initialize(x, y, width, height)
  42.     super
  43.     self.windowskin = Cache.system("Window")
  44.     self.back_opacity = MK_WIN_OPA::OPACITY
  45.     update_padding
  46.     update_tone
  47.     create_contents
  48.     @opening = @closing = false
  49.   end
  50.   
  51. end # class
复制代码
菜单半透明的话,可以试试这个,默认脚本的窗口会一致变成半透明,
在国外的 RGSS3 论坛看到的,跟 RMXP 的半透明窗口脚本效果差不多,
不过像任务系统或敌人图鉴这一类不是默认的脚本就不一定了。

点评

:)感谢您的热心哦~  发表于 2012-12-1 19:20
哦,不好意思,我明白了,图标的边框背景半透明,范例图上白色背景半透明不太明显,现在才注意到。  发表于 2012-12-1 18:52
修改劇本中,仔細審查原來的劇情大綱,覺得有點不太滿意,嘗試編寫不同主角不同主線的劇情,希望能寫得出來。
回复

使用道具 举报

花开堪折直须折

梦石
0
星屑
916
在线时间
943 小时
注册时间
2010-7-17
回帖
4599

贵宾

 楼主| 发表于 2012-12-2 11:26:12 | 显示全部楼层
卧槽你们都只会塞糖没个回复的吗!
谁来告诉我这个半透明怎么简写啊!!!

点评

哦,把160改小就行  发表于 2012-12-2 16:40
self.back_opacity=0 窗口中的,这个?  发表于 2012-12-2 14:45
大家好,我叫节操,有一天,我被吃了。
http://forever-dream.5d6d.com
永恒の梦制作组论坛

129993099
永恒の梦制作组QQ群
回复

使用道具 举报

梦石
0
星屑
660
在线时间
1286 小时
注册时间
2011-6-14
回帖
3949
发表于 2012-12-2 12:27:20 | 显示全部楼层
冰舞蝶恋 发表于 2012-12-2 11:26
卧槽你们都只会塞糖没个回复的吗!
谁来告诉我这个半透明怎么简写啊!!! ...
  1. back = color.clone
  2. back.alpha = 160
复制代码
这么简写,或许可以呢

点评

蟹蟹 我回去试试....对va一窍不通啊…………  发表于 2012-12-2 14:08
回复

使用道具 举报

醉啸 长风万里

梦石
0
星屑
6512
在线时间
6616 小时
注册时间
2007-12-16
回帖
4301

贵宾

发表于 2012-12-2 12:27:24 | 显示全部楼层
冰舞蝶恋 发表于 2012-12-2 11:26
卧槽你们都只会塞糖没个回复的吗!
谁来告诉我这个半透明怎么简写啊!!! ...

我记得以前做过半透明的= =
删掉了= =

点评

TAT奴家是说,简写啊..简写.....  发表于 2012-12-9 00:00
TAT奴家是说,简写啊..简写.....  发表于 2012-12-9 00:00
喂喂!为什么你们都能理解错啊……我说的是那个图标的框后面的品质颜色背景  发表于 2012-12-2 15:12
0.0是吗!!求教!!!!!!仲秋最好了抱抱=w=  发表于 2012-12-2 14:07

还在龟速填坑中
回复

使用道具 举报

花开堪折直须折

梦石
0
星屑
916
在线时间
943 小时
注册时间
2010-7-17
回帖
4599

贵宾

 楼主| 发表于 2012-12-22 19:29:26 | 显示全部楼层
@仲秋启明 那啥,我能提你一個bug嗎,畢竟是你轉來VA的...其實那一段我不會寫來著.....
你有沒有發現數據庫裏的備註只要寫了“<xx x>”,x部分是品質數字,xx部分隨意為任何文字,不一定要為“品質”二字,甚至xx部分空的,都會顯示品質顏色什麼的......
這個算法不對00

点评

(其实我也不清楚怎么回事  发表于 2012-12-22 20:08
啊嘞,应该没问题的啊  发表于 2012-12-22 20:07
大家好,我叫节操,有一天,我被吃了。
http://forever-dream.5d6d.com
永恒の梦制作组论坛

129993099
永恒の梦制作组QQ群
回复

使用道具 举报

梦石
0
星屑
741
在线时间
88 小时
注册时间
2012-12-28
回帖
6
发表于 2013-2-2 01:15:02 | 显示全部楼层
这个用了之后,为什么只有物品颜色变了,但装备的颜色依然没变。。
PS:用了强化插件。。
回复

使用道具 举报

梦石
0
星屑
50
在线时间
54 小时
注册时间
2010-6-28
回帖
9
发表于 2013-7-17 20:10:15 | 显示全部楼层
这脚本挺喜欢的,收了 谢LZ
回复

使用道具 举报

梦石
0
星屑
9292
在线时间
2504 小时
注册时间
2011-5-20
回帖
14521

开拓者

发表于 2013-7-18 09:43:09 | 显示全部楼层
我这有25个以上的颜色,一个一个加了脚本变得好卡,有没有办法可以优化下?
[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部