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

Project1

 找回密码
 注册会员
搜索
Project1 查看内容

字下阴影效果

2006-1-21 00:00| 发布者: 柳柳| 查看: 4557| 评论: 0|原作者: SailCat

摘要:    作者 SailCat  版本与更新 2005年11月  相关网址  点此进入讨论贴  范例工程 脚本功能 更新记录:原来没考虑到用rect参数调用draw_text的问题,导致参数个数出错
 

 作者

SailCat

 版本与更新

2005年11月

 相关网址

 点此进入讨论贴

 范例工程



脚本功能

更新记录:
原来没考虑到用rect参数调用draw_text的问题,导致参数个数出错
现在加了一个分歧把这个解决了……用的是最笨的办法

设置:默认是不加阴影的,如果你要使游戏中所有文字都带上阴影,就修改一下def draw_text那一句,把参数中的 p4 = 0和p7 = 0  改成p4 = 3和p7 = 3。这样所有的字都会带右下角阴影,阴影色为纯黑色,透明度是文字色的透明度2/3

使用方法

使用说明:
插入脚本到Main前面

然后在需要字下阴影的地方修改绘制文字的脚本语句
比如原来是
self.contents.draw_text(x + 4, y, 140, 32, actor.name, 1)
在后面加几个参数
self.contents.draw_text(x + 4, y, 140, 32, actor.name, 1, 3, disabled_color)
增加的参数说明:
3: 这个是阴影绘制的方向,有1 3 7 9 四个取值,分别是左下 右下 左上 右上,如果省略,就不绘制阴影
disabled_color: 这个是阴影色,如果省略,则默认取文字颜色转成灰度后的2/3亮度颜色

其它

没什么了

 

 
 

 脚本内容

#======================================================================
# 脚本来自www.66rpg.com,使用请保留此信息
# 作者:SailCat;升级:柳柳;最后升级日期:2006年4月30日
#======================================================================
class Bitmap
  unless $OK
    alias sailcat_draw_text draw_text
    def draw_text(p1, p2, p3 = 0, p4 = 3, p5 = nil, p6 = 0, p7 = 3, 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(0, 0, 0, self.font.color.alpha * 0.67)
        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(0, 0, 0, self.font.color.alpha * 0.67)
        end
      end
      color_temp = self.font.color.clone
      if shadow_direction != 0
        self.font.color = shadow_color
        case shadow_direction
        when 1
          sailcat_draw_text(x-1, y+1, width, height, text, align)
        when 3
          sailcat_draw_text(x+1, y+1, width, height, text, align)
        when 7
          sailcat_draw_text(x-1, y-1, width, height, text, align)
        when 9
          sailcat_draw_text(x+1, y-1, width, height, text, align)
        end
        self.font.color = color_temp
      end
      $OK = true
      sailcat_draw_text(x, y, width, height, text, align)
    end
  end
end


脚本使用的通用说明

约定:本脚本来源于网络,任何人不得随意将本脚本应用于商业用途,如需转载,必须保留所有版权信息,如果是国内作者,最好征求作者同意——否则发生任何后果,66RPG不予负责。使用此脚本表示您默认接受上述约定。

说明:不同脚本之间、尤其是不同作者脚本之间会有冲突,本站会对已知脚本冲突进行简单说明。测试新脚本请下载本站提供的测试文件或者新建工程测试。脚本不要贪多,否则可能会互相冲突对您的游戏造成未知的影响。如果脚本内或者本站内提供了解释,请务必完全看完解释后再使用,如有问题,请到论坛讨论。


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

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

GMT+8, 2024-5-6 01:18

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

返回顶部