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

Project1

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

[RMXP发布] 字体阴影脚本v2.0

[复制链接]

Lv3.寻梦者 (暗夜天使)

精灵族の天使

梦石
0
星屑
1697
在线时间
3038 小时
注册时间
2007-3-16
帖子
33731

开拓者贵宾

跳转到指定楼层
1
发表于 2017-10-14 10:48:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 精灵使者 于 2017-10-14 10:56 编辑

原版参考Sailcat大的字体阴影脚本。
精灵重写部分代码并改良设定部分。
主要更新有:
1.设定部分全部放在模块里进行设定。
2.增添了详细的说明书。
3.如果全局阴影的颜色和字体颜色一样【这往往很不美观】,会自动关闭阴影,等其他颜色的时候会自动恢复。

  1. #==============================================================================
  2. # 本脚本来自rpg.blue,使用和转载请保留此信息
  3. #==============================================================================
  4. #==============================================================================
  5. #字体阴影脚本v 2.0
  6. #原作:Sailcat
  7. #改进:精灵使者
  8. #==============================================================================
  9. =begin
  10. 全局阴影设定部分在模块中进行。
  11. 默认如果阴影颜色与字体脚本颜色一致的话会自动关闭阴影,不一致的时候阴影会恢复
  12. 阴影颜色和方向可以自定义。
  13. 使用如下方式自定义阴影和颜色:
  14. draw_text后面加两个参数,第一个是阴影的参数,第二个是阴影的自定义颜色。
  15. 这样的话这一段draw_text就会有自定义阴影效果。
  16. =end

  17. #设定部分
  18. module FAY_FONT_SHADOW
  19.   SHADOW_ALIGN = 0 #对齐方式
  20.   SHADOW_DIRECTION = 3 #字体对齐方向,如果默认为0则关闭全局阴影,需要自定义
  21.                        #具体定义数字参考小键盘,1左下3右下7左上9右上,默认是3
  22.   SHADOW_COLOR = Color.new(0,0,0) #阴影字体默认颜色,默认黑色
  23.   SHADOW_COLOR_ALPHA = 0.67 #阴影相对于字体的透明度,1为和透明度一致,默认0.67
  24.   SHADOW_DELTA = 1 #阴影相对于字体的偏移量,默认为1像素
  25. end

  26. #正式脚本
  27. class Bitmap
  28. unless $FONT_SHADOW_INIT #防止F12重新描绘,全局脚本只运行一次
  29.   alias sailcat_draw_text draw_text unless method_defined? :sailcat_draw_text
  30.   def draw_text(p1,p2,p3=FAY_FONT_SHADOW::SHADOW_ALIGN,
  31.     p4=FAY_FONT_SHADOW::SHADOW_DIRECTION,p5=nil,
  32.     p6=FAY_FONT_SHADOW::SHADOW_ALIGN,p7=FAY_FONT_SHADOW::SHADOW_DIRECTION,p8=nil)
  33.     case p1
  34.     when Numeric
  35.       x = p1
  36.       y = p2
  37.       width = p3
  38.       height = p4
  39.       text = p5
  40.       align = p6
  41.       shadow_direction = p7
  42.       shadow_color = p8
  43.       if shadow_color.nil?
  44.       shadow_color = Color.new(FAY_FONT_SHADOW::SHADOW_COLOR.red,
  45.       FAY_FONT_SHADOW::SHADOW_COLOR.green,FAY_FONT_SHADOW::SHADOW_COLOR.blue,
  46.       self.font.color.alpha * FAY_FONT_SHADOW::SHADOW_COLOR_ALPHA)
  47.       end
  48.     when Rect
  49.       x = p1.x
  50.       y = p1.y
  51.       width = p1.width
  52.       height = p1.height
  53.       text = p2
  54.       align = p3
  55.       shadow_direction = p4
  56.       shadow_color = p5
  57.       if shadow_color.nil?
  58.       shadow_color = Color.new(FAY_FONT_SHADOW::SHADOW_COLOR.red,
  59.       FAY_FONT_SHADOW::SHADOW_COLOR.green,FAY_FONT_SHADOW::SHADOW_COLOR.blue,
  60.       self.font.color.alpha * FAY_FONT_SHADOW::SHADOW_COLOR_ALPHA)
  61.       end
  62.     end
  63.     color_temp = self.font.color.clone
  64.     if shadow_direction != 0 and color_temp != FAY_FONT_SHADOW::SHADOW_COLOR
  65.       self.font.color = shadow_color
  66.       case shadow_direction
  67.       when 1 #左下
  68.         sailcat_draw_text(x-FAY_FONT_SHADOW::SHADOW_DELTA,
  69.         y+FAY_FONT_SHADOW::SHADOW_DELTA,width,height,text,align)
  70.       when 3 #右下
  71.         sailcat_draw_text(x+FAY_FONT_SHADOW::SHADOW_DELTA,
  72.         y+FAY_FONT_SHADOW::SHADOW_DELTA,width,height,text,align)
  73.       when 7 #左上
  74.         sailcat_draw_text(x-FAY_FONT_SHADOW::SHADOW_DELTA,
  75.         y-FAY_FONT_SHADOW::SHADOW_DELTA ,width,height,text,align)
  76.       when 9 #右上
  77.         sailcat_draw_text(x+FAY_FONT_SHADOW::SHADOW_DELTA,
  78.         y-FAY_FONT_SHADOW::SHADOW_DELTA,width,height,text,align)
  79.       end
  80.       self.font.color=color_temp
  81.     end
  82.   $FONT_SHADOW_INIT = true
  83.   sailcat_draw_text(x,y,width,height,text,align)
  84.   end
  85. end
  86. end
  87. #==============================================================================
  88. # 本脚本来自rpg.blue,使用和转载请保留此信息
  89. #==============================================================================
复制代码

点评

经测试,VX和ACE居然也可以运行,但是和自带阴影混在一起会很难看(?)  发表于 2017-10-14 10:49

评分

参与人数 1+1 收起 理由
真·可乐 + 1 这个真的很棒

查看全部评分

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

本版积分规则

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

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

GMT+8, 2024-11-1 07:05

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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