赞 | 1 |
VIP | 220 |
好人卡 | 25 |
积分 | 7 |
经验 | 51477 |
最后登录 | 2013-1-12 |
在线时间 | 943 小时 |
Lv2.观梦者 花开堪折直须折
- 梦石
- 0
- 星屑
- 681
- 在线时间
- 943 小时
- 注册时间
- 2010-7-17
- 帖子
- 4963
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 冰舞蝶恋 于 2012-12-1 16:28 编辑
#============================================================================== # [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 #==============================================================================
#==============================================================================
# [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
#==============================================================================
★ 关于半透明的写法我个人觉得好麻烦……大家有什么好的建议吗?
关于第一点个人表述能力不够,大家可能不能理解,在此利用某游戏的一张截图作为示范。
本游戏欢迎大家来坑=v=!~
小小广告一下=m=
http://rpg.blue/thread-250560-1-1.html
|
评分
-
查看全部评分
|