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

Project1

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

美化的动态选项窗口 (仿小生自己家的DVD控制界面)

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1 小时
注册时间
2006-11-1
帖子
91
跳转到指定楼层
1
发表于 2007-2-9 02:56:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
这个是根据主站上的http://rpg.blue/web/htm/news165.htm进行修改制作的脚本,和小生这两天发布的另外几个不一样,只是比较小的一些改动而已,为了美化一些,仅此而已。




  1. #==============================================================================
  2. # ■ Window_Command
  3. #------------------------------------------------------------------------------
  4. #  一般的命令选择行窗口。
  5. #==============================================================================

  6. class Window_Command < Window_Selectable
  7.   #--------------------------------------------------------------------------
  8.   # ● 初始化对像
  9.   # width : 窗口的宽
  10.   # commands : 命令字符串序列
  11.   #--------------------------------------------------------------------------
  12.   def initialize(width, commands)
  13.     # 由命令的个数计算出窗口的高
  14.     super(0, 0, width, commands.size * 32 + 32)
  15.     @item_max = commands.size
  16.     @commands = commands
  17.     self.contents = Bitmap.new(width - 32, @item_max * 32)
  18.     @item = []
  19.     self.index = 0
  20.     refresh
  21.     @oldindex = 0
  22.   end
  23.   #--------------------------------------------------------------------------
  24.   # ● 刷新
  25.   #--------------------------------------------------------------------------
  26.   def refresh
  27.     self.contents.clear
  28.     for i in 0...@item_max
  29.       if i != self.index
  30.         draw_item_dis(i)
  31.       else
  32.         draw_item_active(i,@item[i])
  33.       end
  34.     end
  35.   end
  36.   #--------------------------------------------------------------------------
  37.   # ● 描绘项目
  38.   # index : 项目编号
  39.   # color : 文字色
  40.   #--------------------------------------------------------------------------
  41.   def draw_item_dis(index)
  42.     rect = Rect.new(5, 32 * index, self.contents.width - 24, 32)
  43.     self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
  44.     self.contents.font.color = Color.new(0,0,0,255)
  45.     self.contents.draw_text(5,32*index+1,self.contents.width,32, @commands[index])
  46.     self.contents.draw_text(5,32*index-1,self.contents.width,32, @commands[index])
  47.     self.contents.draw_text(5-1,32*index,self.contents.width,32, @commands[index])
  48.     self.contents.draw_text(5+1,32*index,self.contents.width,32, @commands[index])
  49.     self.contents.font.color = disabled_color
  50.     self.contents.draw_text(rect, @commands[index])
  51.   end
  52.   
  53.   def draw_item_active(index, type)
  54.     self.contents.font.color = Color.new(0,0,0,255)
  55.     self.contents.draw_text(5,32*index+1,self.contents.width,32, @commands[index])
  56.     self.contents.draw_text(5,32*index-1,self.contents.width,32, @commands[index])
  57.     self.contents.draw_text(5-1,32*index,self.contents.width,32, @commands[index])
  58.     self.contents.draw_text(5+1,32*index,self.contents.width,32, @commands[index])
  59.     if type==1
  60.       self.contents.font.color = disabled_color
  61.     else
  62.       self.contents.font.color = Color.new(255,255,255,255)
  63.     end
  64.     self.contents.draw_text(4,32*index,self.contents.width,32, @commands[index])
  65.   end
  66.   #--------------------------------------------------------------------------
  67.   # ● 项目无效化
  68.   # index : 项目编号
  69.   #--------------------------------------------------------------------------
  70.   def disable_item(index)
  71.     @item[index] = 1
  72.   end  
  73.   #--------------------------------------------------------------------------
  74.   # ● 刷新方法更新
  75.   #--------------------------------------------------------------------------
  76.   def update
  77.     super
  78.     #——这里使用的刷新方法比直接refresh节约很多内存
  79.     if self.index != @oldindex
  80.       @oldindex = self.index
  81.       refresh
  82.     end
  83.   end
  84.   
  85.   def update_cursor_rect
  86.     self.cursor_rect.empty
  87.   end
  88. end

  89. #==============================================================================
  90. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  91. #==============================================================================
复制代码

Edited by 傳說の仙劍

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1 小时
注册时间
2006-11-1
帖子
91
2
 楼主| 发表于 2007-2-9 02:56:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
这个是根据主站上的http://rpg.blue/web/htm/news165.htm进行修改制作的脚本,和小生这两天发布的另外几个不一样,只是比较小的一些改动而已,为了美化一些,仅此而已。




  1. #==============================================================================
  2. # ■ Window_Command
  3. #------------------------------------------------------------------------------
  4. #  一般的命令选择行窗口。
  5. #==============================================================================

  6. class Window_Command < Window_Selectable
  7.   #--------------------------------------------------------------------------
  8.   # ● 初始化对像
  9.   # width : 窗口的宽
  10.   # commands : 命令字符串序列
  11.   #--------------------------------------------------------------------------
  12.   def initialize(width, commands)
  13.     # 由命令的个数计算出窗口的高
  14.     super(0, 0, width, commands.size * 32 + 32)
  15.     @item_max = commands.size
  16.     @commands = commands
  17.     self.contents = Bitmap.new(width - 32, @item_max * 32)
  18.     @item = []
  19.     self.index = 0
  20.     refresh
  21.     @oldindex = 0
  22.   end
  23.   #--------------------------------------------------------------------------
  24.   # ● 刷新
  25.   #--------------------------------------------------------------------------
  26.   def refresh
  27.     self.contents.clear
  28.     for i in 0...@item_max
  29.       if i != self.index
  30.         draw_item_dis(i)
  31.       else
  32.         draw_item_active(i,@item[i])
  33.       end
  34.     end
  35.   end
  36.   #--------------------------------------------------------------------------
  37.   # ● 描绘项目
  38.   # index : 项目编号
  39.   # color : 文字色
  40.   #--------------------------------------------------------------------------
  41.   def draw_item_dis(index)
  42.     rect = Rect.new(5, 32 * index, self.contents.width - 24, 32)
  43.     self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
  44.     self.contents.font.color = Color.new(0,0,0,255)
  45.     self.contents.draw_text(5,32*index+1,self.contents.width,32, @commands[index])
  46.     self.contents.draw_text(5,32*index-1,self.contents.width,32, @commands[index])
  47.     self.contents.draw_text(5-1,32*index,self.contents.width,32, @commands[index])
  48.     self.contents.draw_text(5+1,32*index,self.contents.width,32, @commands[index])
  49.     self.contents.font.color = disabled_color
  50.     self.contents.draw_text(rect, @commands[index])
  51.   end
  52.   
  53.   def draw_item_active(index, type)
  54.     self.contents.font.color = Color.new(0,0,0,255)
  55.     self.contents.draw_text(5,32*index+1,self.contents.width,32, @commands[index])
  56.     self.contents.draw_text(5,32*index-1,self.contents.width,32, @commands[index])
  57.     self.contents.draw_text(5-1,32*index,self.contents.width,32, @commands[index])
  58.     self.contents.draw_text(5+1,32*index,self.contents.width,32, @commands[index])
  59.     if type==1
  60.       self.contents.font.color = disabled_color
  61.     else
  62.       self.contents.font.color = Color.new(255,255,255,255)
  63.     end
  64.     self.contents.draw_text(4,32*index,self.contents.width,32, @commands[index])
  65.   end
  66.   #--------------------------------------------------------------------------
  67.   # ● 项目无效化
  68.   # index : 项目编号
  69.   #--------------------------------------------------------------------------
  70.   def disable_item(index)
  71.     @item[index] = 1
  72.   end  
  73.   #--------------------------------------------------------------------------
  74.   # ● 刷新方法更新
  75.   #--------------------------------------------------------------------------
  76.   def update
  77.     super
  78.     #——这里使用的刷新方法比直接refresh节约很多内存
  79.     if self.index != @oldindex
  80.       @oldindex = self.index
  81.       refresh
  82.     end
  83.   end
  84.   
  85.   def update_cursor_rect
  86.     self.cursor_rect.empty
  87.   end
  88. end

  89. #==============================================================================
  90. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  91. #==============================================================================
复制代码

Edited by 傳說の仙劍

Lv1.梦旅人

梦石
0
星屑
55
在线时间
22 小时
注册时间
2006-4-22
帖子
370
3
发表于 2007-2-9 06:06:50 | 只看该作者
效果很不错,拿来用了!!!~~~~{/qiang}
准备有空挖个坑玩玩..
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2007-2-8
帖子
208
4
发表于 2007-2-9 23:55:23 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1 小时
注册时间
2006-11-1
帖子
91
5
 楼主| 发表于 2007-2-10 00:21:37 | 只看该作者
以下引用19911118于2007-2-9 15:55:23的发言:

按什么键返回游戏界面

什么叫返回游戏界面?此脚本只改了显示效果,对算法无任何改动。
请用新工程测试。
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
1
星屑
916
在线时间
101 小时
注册时间
2006-3-27
帖子
1081
6
发表于 2007-2-10 21:34:59 | 只看该作者
由于重定义了Window_Command的刷新
我加进去以后,鼠标脚本在Window_Command里就废掉了,呵呵
算了,就不改了,
就用目前这个从黑暗圣剑里的效果也还不错
回复 支持 反对

使用道具 举报

Lv1.梦旅人

Dancer-

梦石
0
星屑
55
在线时间
76 小时
注册时间
2006-11-9
帖子
3551

开拓者贵宾

7
发表于 2007-3-26 05:15:48 | 只看该作者
发布到主站完毕
LZ VIP += 2
http://rpg.blue/web/htm/news653.htm
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
60
在线时间
8 小时
注册时间
2006-8-31
帖子
24
8
发表于 2007-3-26 06:31:27 | 只看该作者
不错顶,支持!
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (暗夜天使)

精灵族の天使

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

开拓者贵宾

9
发表于 2007-3-26 13:55:10 | 只看该作者
效果不错!这比以前那个脚本明显多了!谢谢支持!{/qiang}
刚才测试的时候出了些错误。错误原因是,如果对话框小于默认字体数的话,字体会压缩,在没有选中的时候和没有压缩的黑色的底部放在一起会很难看。希望楼主修改一下黑色的底部能自动压缩,否则界面会出问题。为了美观起见,我还是使用原来的脚本选项,配合字体阴影脚本就没这个问题了。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

太后老佛爷

梦石
0
星屑
90
在线时间
297 小时
注册时间
2007-1-13
帖子
1912
10
发表于 2007-3-27 03:38:12 | 只看该作者
很好看.现在才知道LZ是男生{/gg}
[
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-22 07:27

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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