赞 | 27 |
VIP | 400 |
好人卡 | 13 |
积分 | 17 |
经验 | 69730 |
最后登录 | 2023-6-12 |
在线时间 | 3038 小时 |
Lv3.寻梦者 (暗夜天使) 精灵族の天使
- 梦石
- 0
- 星屑
- 1697
- 在线时间
- 3038 小时
- 注册时间
- 2007-3-16
- 帖子
- 33731
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 精灵使者 于 2017-10-14 10:56 编辑
原版参考Sailcat大的字体阴影脚本。
精灵重写部分代码并改良设定部分。
主要更新有:
1.设定部分全部放在模块里进行设定。
2.增添了详细的说明书。
3.如果全局阴影的颜色和字体颜色一样【这往往很不美观】,会自动关闭阴影,等其他颜色的时候会自动恢复。
- #==============================================================================
- # 本脚本来自rpg.blue,使用和转载请保留此信息
- #==============================================================================
- #==============================================================================
- #字体阴影脚本v 2.0
- #原作:Sailcat
- #改进:精灵使者
- #==============================================================================
- =begin
- 全局阴影设定部分在模块中进行。
- 默认如果阴影颜色与字体脚本颜色一致的话会自动关闭阴影,不一致的时候阴影会恢复
- 阴影颜色和方向可以自定义。
- 使用如下方式自定义阴影和颜色:
- draw_text后面加两个参数,第一个是阴影的参数,第二个是阴影的自定义颜色。
- 这样的话这一段draw_text就会有自定义阴影效果。
- =end
- #设定部分
- module FAY_FONT_SHADOW
- SHADOW_ALIGN = 0 #对齐方式
- SHADOW_DIRECTION = 3 #字体对齐方向,如果默认为0则关闭全局阴影,需要自定义
- #具体定义数字参考小键盘,1左下3右下7左上9右上,默认是3
- SHADOW_COLOR = Color.new(0,0,0) #阴影字体默认颜色,默认黑色
- SHADOW_COLOR_ALPHA = 0.67 #阴影相对于字体的透明度,1为和透明度一致,默认0.67
- SHADOW_DELTA = 1 #阴影相对于字体的偏移量,默认为1像素
- end
- #正式脚本
- class Bitmap
- unless $FONT_SHADOW_INIT #防止F12重新描绘,全局脚本只运行一次
- alias sailcat_draw_text draw_text unless method_defined? :sailcat_draw_text
- def draw_text(p1,p2,p3=FAY_FONT_SHADOW::SHADOW_ALIGN,
- p4=FAY_FONT_SHADOW::SHADOW_DIRECTION,p5=nil,
- p6=FAY_FONT_SHADOW::SHADOW_ALIGN,p7=FAY_FONT_SHADOW::SHADOW_DIRECTION,p8=nil)
- case p1
- when Numeric
- x = p1
- y = p2
- width = p3
- height = p4
- text = p5
- align = p6
- shadow_direction = p7
- shadow_color = p8
- if shadow_color.nil?
- shadow_color = Color.new(FAY_FONT_SHADOW::SHADOW_COLOR.red,
- FAY_FONT_SHADOW::SHADOW_COLOR.green,FAY_FONT_SHADOW::SHADOW_COLOR.blue,
- self.font.color.alpha * FAY_FONT_SHADOW::SHADOW_COLOR_ALPHA)
- end
- when Rect
- x = p1.x
- y = p1.y
- width = p1.width
- height = p1.height
- text = p2
- align = p3
- shadow_direction = p4
- shadow_color = p5
- if shadow_color.nil?
- shadow_color = Color.new(FAY_FONT_SHADOW::SHADOW_COLOR.red,
- FAY_FONT_SHADOW::SHADOW_COLOR.green,FAY_FONT_SHADOW::SHADOW_COLOR.blue,
- self.font.color.alpha * FAY_FONT_SHADOW::SHADOW_COLOR_ALPHA)
- end
- end
- color_temp = self.font.color.clone
- if shadow_direction != 0 and color_temp != FAY_FONT_SHADOW::SHADOW_COLOR
- self.font.color = shadow_color
- case shadow_direction
- when 1 #左下
- sailcat_draw_text(x-FAY_FONT_SHADOW::SHADOW_DELTA,
- y+FAY_FONT_SHADOW::SHADOW_DELTA,width,height,text,align)
- when 3 #右下
- sailcat_draw_text(x+FAY_FONT_SHADOW::SHADOW_DELTA,
- y+FAY_FONT_SHADOW::SHADOW_DELTA,width,height,text,align)
- when 7 #左上
- sailcat_draw_text(x-FAY_FONT_SHADOW::SHADOW_DELTA,
- y-FAY_FONT_SHADOW::SHADOW_DELTA ,width,height,text,align)
- when 9 #右上
- sailcat_draw_text(x+FAY_FONT_SHADOW::SHADOW_DELTA,
- y-FAY_FONT_SHADOW::SHADOW_DELTA,width,height,text,align)
- end
- self.font.color=color_temp
- end
- $FONT_SHADOW_INIT = true
- sailcat_draw_text(x,y,width,height,text,align)
- end
- end
- end
- #==============================================================================
- # 本脚本来自rpg.blue,使用和转载请保留此信息
- #==============================================================================
复制代码 |
评分
-
查看全部评分
|