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

Project1

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

[原创发布] 【for Developer】标签窗体 悲情物一枚

[复制链接]

Lv3.寻梦者

梦石
0
星屑
1175
在线时间
1564 小时
注册时间
2008-7-30
帖子
4418

贵宾

跳转到指定楼层
1
发表于 2010-10-31 07:58:56 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 DeathKing 于 2010-12-11 17:48 编辑

实现类似于古书的效果,请合理使用,否则会出现下方的悲情效果。

注意!
单纯是右边的列表,和左边的技能那些无关


  1. #===============================================================================
  2. # ■ 标签窗体
  3. #    LabelWindow
  4. #-------------------------------------------------------------------------------
  5. #    提供给脚本开发者,一个用于创建图文结合的标签窗体的脚本。
  6. #
  7. #    * 使用方法:
  8. #      obj = Window_Lable.new(x, y, w, h, text, icon)
  9. #
  10. #    * 注意事项
  11. #      ① 字体属性一旦被改变就会刷新;
  12. #      ② 字体属性的 setter 不负责检查参数。
  13. #-------------------------------------------------------------------------------
  14. #    更新作者: DeathKing
  15. #    许可协议: FSL
  16. #    项目版本: 1.1.1211
  17. #    引用网址:
  18. #-------------------------------------------------------------------------------
  19. #    - 1.1.1211   By DeathKing
  20. #      * 修正了 font_name= 方法的错误;
  21. #
  22. #    - 1.0.1031   By DeathKing
  23. #      * 初版;
  24. #
  25. #===============================================================================
  26. $fscript = {} if $fscript == nil
  27. $fscript["LabelWindow"] = "1.1.1211"

  28. #-------------------------------------------------------------------------------
  29. # ▼ 通用配置模块
  30. #-------------------------------------------------------------------------------

  31. module FSL
  32.   module LabelWindow
  33.     DEFAULT_FONT    = "黑体"
  34.     DEFAULT_SIZE    = 22
  35.     DEFAULT_COLOR   = Color.new(255, 255, 255, 255)
  36.     DEFAULT_ITALIC  = false
  37.     DEFAULT_BOLD    = false
  38.   end
  39. end

  40. #==============================================================================
  41. # ■ Window_Label
  42. #------------------------------------------------------------------------------
  43. #  用于创造一个类似于标签的窗口
  44. #==============================================================================

  45. class Window_Label < Window_Base
  46.    
  47.   include FSL::LabelWindow
  48.    
  49.   WLH = 32
  50.    
  51.   attr_reader :x, :y, :w, :h, :text, :icon
  52.   attr_reader :italic, :bold, :font_name, :color, :size

  53.   #--------------------------------------------------------------------------
  54.   # ● 初始化对象
  55.   #     x     : 窗体的x坐标
  56.   #     y     : 窗体的y坐标
  57.   #     w     : 窗体的宽度
  58.   #     h     : 窗体的高度
  59.   #     text  : 标签文本
  60.   #     icon  : 存放在icons文件夹下的图标文件名
  61.   #--------------------------------------------------------------------------
  62.   def initialize(x,y,w,h,text,icon="")
  63.     # 为实变量赋值
  64.     @x,@y,@w,@h,@text,@icon = x,y,w,h,text,icon
  65.     super(x,y,w,h)
  66.     # 创建窗体
  67.     self.contents = Bitmap.new(width - 32, height - 32)
  68.     # 设置字体属性
  69.     self.contents.font.name   = DEFAULT_FONT
  70.     self.contents.font.size   = DEFAULT_SIZE
  71.     self.contents.font.color  = DEFAULT_COLOR
  72.     self.contents.font.bold   = DEFAULT_BOLD
  73.     self.contents.font.italic = DEFAULT_ITALIC
  74.     # 刷新内容   
  75.     refresh
  76.   end
  77.   #--------------------------------------------------------------------------
  78.   # ● 刷新
  79.   #--------------------------------------------------------------------------
  80.   def refresh
  81.     # 清除以前创造的位图
  82.     self.contents.clear
  83.     # 初始化坐标
  84.     x,y = 0,0
  85.     # 如果指定了图标
  86.     if @icon != ""
  87.       rect = Rect.new(x, y, 32, 32)
  88.       self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
  89.       bitmap = RPG::Cache.icon(@icon)
  90.       opacity = self.contents.font.color == normal_color ? 255 : 128
  91.       self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24), opacity)
  92.       x = 32
  93.     end
  94.     # 绘制文本
  95.     self.contents.draw_text(x,y,@text.size*32,WLH,@text)
  96.   end #refresh
  97.   #--------------------------------------------------------------------------
  98.   # ● 一旦标签文本改变就刷新
  99.   #--------------------------------------------------------------------------
  100.   def text=(value)
  101.     @text = value
  102.     refresh
  103.   end
  104.   #--------------------------------------------------------------------------
  105.   # ● 一旦被指定为斜体就刷新
  106.   #--------------------------------------------------------------------------
  107.   def italic=(value)
  108.     self.contents.font.italic = value
  109.     refresh
  110.   end
  111.   #--------------------------------------------------------------------------
  112.   # ● 一旦被指定为粗体就刷新
  113.   #--------------------------------------------------------------------------
  114.   def bold=(value)
  115.     self.contents.font.bold = value
  116.     refresh
  117.   end
  118.   #--------------------------------------------------------------------------
  119.   # ● 一旦修改了字体名称就刷新
  120.   #--------------------------------------------------------------------------
  121.   def font_name=(value)
  122.     self.contents.font.name = value
  123.     refresh
  124.   end
  125.   #--------------------------------------------------------------------------
  126.   # ● 一旦修改了字体大小就刷新
  127.   #--------------------------------------------------------------------------
  128.   def size=(value)
  129.     self.contents.font.size = value
  130.     refresh
  131.   end
  132.   #--------------------------------------------------------------------------
  133.   # ● 一旦修改了字体颜色就刷新
  134.   #--------------------------------------------------------------------------
  135.   def color=(value)
  136.     self.contents.font.color = value
  137.     refresh
  138.   end
  139. end
复制代码

See FScript Here:https://github.com/DeathKing/fscript
潜心编写URG3中。
所有对URG3的疑问和勘误或者建议,请移步至发布页面。
欢迎萌妹纸催更

Lv5.捕梦者 (管理员)

老黄鸡

梦石
0
星屑
42344
在线时间
7599 小时
注册时间
2009-7-6
帖子
13506

开拓者贵宾

2
发表于 2010-10-31 08:13:25 | 只看该作者
我来试试效果~
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
416 小时
注册时间
2006-10-21
帖子
1245
3
发表于 2010-10-31 12:18:39 | 只看该作者
论坛改版了? 这个具体啥子用?
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv3.寻梦者 (禁止发言)

无能君

梦石
0
星屑
3455
在线时间
30 小时
注册时间
2010-9-18
帖子
354
4
发表于 2010-10-31 12:40:58 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

小小的百鬼夜行<

梦石
0
星屑
54
在线时间
579 小时
注册时间
2010-7-29
帖子
2682

贵宾

5
发表于 2010-10-31 12:54:23 | 只看该作者
猛然发现在脚本上盖着一层广告。。。。。
好吧。决定试用一下。
某只PHP/HTML小白鼠→退屈の间


Cause I knew you were trouble when you walked in
So shame is on me now
I flow me to place i ve never been
till you put me down oh
Now Im lying on the cold hard ground
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1175
在线时间
1564 小时
注册时间
2008-7-30
帖子
4418

贵宾

6
 楼主| 发表于 2010-12-11 17:49:27 | 只看该作者
更新。包括图。

点评

⊙_⊙ 不错呀!  发表于 2013-9-5 03:49

See FScript Here:https://github.com/DeathKing/fscript
潜心编写URG3中。
所有对URG3的疑问和勘误或者建议,请移步至发布页面。
欢迎萌妹纸催更
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-15 08:51

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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