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

Project1

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

VX 用新 WINDOW 类(兼容 XP 与 VX 的皮肤)更新到 v2.1

 关闭 [复制链接]

Lv4.逐梦者

梦石
0
星屑
11986
在线时间
999 小时
注册时间
2007-12-15
帖子
188
跳转到指定楼层
1
发表于 2009-4-8 02:37:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
当前版本:v2.1   (2009.04.12)

      新 WINDOW 类的使用说明:

   1、特点:

      同时支持 XP 与 VX 的皮肤图片,且按照图片宽度自动判断使用的是那种图片,无需
      用户手动设置。与 VX 内部的 WINDOW 类相比,在保留全部原有功能的基础上,具有
      了更强的扩展性(已追加了部分新功能),整合了两种动态光标和一个静态光标,
      边框和背景支持独立的动画效果(VX 的背景动画可以为两层背景单独指定不同的
      动画方式)。
      注:stretch 功能仅在使用 XP 的皮肤时有效。

   2、新功能(v2.0):

      set_openness_mode(mode)       设置 openness 模式,在设置 openness 的值之前使用
                                    mode:0  上下集中   原有模式
                                    mode:1  左右集中
                                    mode:2  从上到下
                                    mode:3  从下到上
                                    mode:4  从左到右
                                    mode:5  从右到左
      set_cursor_rect(on_off)       设置是否启用光标矩形
                                    true  为启用
                                    false 为禁用(会释放光标矩形的精灵)
      set_cursor_a(on_off)          设置是否启用动态光标 1
                                    true  为启用
                                    false 为禁用(会释放动态光标 1 的精灵)
      set_cursor_a_s(on_off)        设置是否启用静态光标
                                    true  为启用
                                    false 为禁用(会释放静态光标的精灵)
      set_cursor_b(on_off)          设置是否启用动态光标 2
                                    true  为启用
                                    false 为禁用(会释放动态光标 2 的精灵)
      arrow_cr_can=(arrow_cr_can)   设置是否显示滚动箭头
                                    true  为显示
                                    false 为不显示(即使内容大于窗口也不显示)
      set_animation_bg(mode = 0, sprite = 0, dir = "", filename = "")
          设置背景动画
          mode:模式   0 无动画效果,1 四帧动画,2 卷动
          sprite:应用动画效果的背景层   0 底层背景,1 表层背景,2 底层+表层
                  在 XP 模式下只能是 0
          dir:卷动方式下的方向   取以下字符串中的一个:
               "上","左上","左","左下","下","右下","右","右上",
          filename:文件名  附加动画图片的文件名
      set_animation_bk(filename = "")  设置边框动画
          filename:文件名  附加动画图片的文件名

     v2.1 更新
     
      修正了一个 BUG
      根据 zh99998 的建议修改和增加了 openness 的模式(方向与小键盘方向对应):
      set_openness_mode(mode)       设置 openness 模式,在设置 openness 的值之前使用
                                    mode:nil  上下集中   原有模式
                                    mode:0  左右集中
                                    mode:1  左下到右上
                                    mode:2  从下到上
                                    mode:3  右下到左上
                                    mode:4  从左到右
                                    mode:5  中心向四周
                                    mode:6  从右到左
                                    mode:7  左上到右下
                                    mode:8  从上到下
                                    mode:9  右上到左下
      根据 zh99998 的建议修改和增加了一个窗口连接功能(无法与动态边框功能同时使用):
      使用方法见范例 v2.1
      set_bk_size(bksize, sizeoff)   设置边框尺寸(窗口连接用)
                                     bksize:边框尺寸
                                     sizeoff:边框偏移量
      set_bk_linkline(mode, dir, wz, jg)  设置连接模式
                                     mode:是否使用边框连接,取值 0 和 1
                                     dir:边框连接的方向,取值 "水平" 和 "垂直"
                                     wz:边框连接的显示位置,数字
                                     jg:边框之间的间隔,数字
      clear_bk_rect(dir, wz, jl, kd)   清除指定范围的边框
                                     dir:要清除的方向,取值 "上"、"下"、"左"、"右"
                                     wz:要清除范围的开始位置,数字
                                     jl:要清除的范围,数字
                                     kd:要清除的宽度,数字,应与边框尺寸相同
   3、缺点:
   
      建立窗口的速度略慢于原 WINDOW 类(使用背景和边框的动画时更加明显),不过
      在可以接受的范围内(至少在我的机子上是这样),内存的消耗增加了一些,不多。

新 WINDOW 类 v2.0
新 WINDOW 类 v2.1

请大家帮忙测试 BUG 和功能方面的不足,有什么意见和建议请回帖,谢谢。

正在研究自己编写 DLL 来调用 DirectX ……DLL 完成了,脚本却遇到问题了……

Lv1.梦旅人

梦石
0
星屑
60
在线时间
1 小时
注册时间
2009-3-18
帖子
10
2
发表于 2009-4-8 04:41:42 | 只看该作者
因为一般同事只使用一个皮肤
所以可以考虑设置个开关,来切换使用VX或者XP的皮肤
这样可以省去识别过程造成的资源浪费,
免去每次识别的烦恼,减少延迟
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
60
在线时间
1 小时
注册时间
2009-3-18
帖子
10
3
发表于 2009-4-8 04:41:48 | 只看该作者
因为一般同事只使用一个皮肤
所以可以考虑设置个开关,来切换使用VX或者XP的皮肤
这样可以省去识别过程造成的资源浪费,
免去每次识别的烦恼,减少延迟
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
46
在线时间
10 小时
注册时间
2007-5-27
帖子
2558

第1届Title华丽大赛新人奖

4
发表于 2009-4-9 03:09:48 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
11986
在线时间
999 小时
注册时间
2007-12-15
帖子
188
5
 楼主| 发表于 2009-4-10 19:56:22 | 只看该作者
以下引用icyminileaf于2009-4-7 20:41:48的发言:

因为一般同事只使用一个皮肤
所以可以考虑设置个开关,来切换使用VX或者XP的皮肤
这样可以省去识别过程造成的资源浪费,
免去每次识别的烦恼,减少延迟


识别的时候其实只有两个简单的判断语句,基本不会有延迟…………

以下引用沉影不器于2009-4-8 19:09:48的发言:

没发现bug,在viewport处理上尤其完美,以下测试报告:

标题画面基本保持在54-60之间,多数在58-60;
进入菜单就比较低了,42-50大概,最低36;
菜单进入和切换时有点停顿
测试环境: p4 2.0 1G内存 镭9600显卡


菜单进入和切换时有点停顿是没办法的事情,毕竟比原 WINDOW 类多处理了不少东西。
至于帧数方面,在我的机子上基本都在 60 帧左右……暂时无法优化(因为看不到效果……)。
环境:E7200 2.53G 2G 内存 9800GT

正在研究自己编写 DLL 来调用 DirectX ……DLL 完成了,脚本却遇到问题了……
回复 支持 反对

使用道具 举报

Lv2.观梦者 (管理员)

八云紫的式神

梦石
0
星屑
549
在线时间
1243 小时
注册时间
2008-1-1
帖子
4282

烫烫烫

6
发表于 2009-4-10 20:31:13 | 只看该作者
http://rpg.blue/viewthread.php?tid=121194
LZ可否帮我看看这个窗口问题

或者把这个功能加进新Window里

然后,楼顶的范例,按ESC键打开菜单的时候会有1秒左右的延时,关闭菜单也是1s
rm for linux(wine)制作中,期待夏娜SAMA能实现到webrm上
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
11986
在线时间
999 小时
注册时间
2007-12-15
帖子
188
7
 楼主| 发表于 2009-4-10 20:49:35 | 只看该作者
以下引用zh99998于2009-4-10 12:31:13的发言:

http://rpg.blue/viewthread.php?tid=121194
LZ可否帮我看看这个窗口问题

或者把这个功能加进新Window里

这个效果也不是做不出来……只是比较麻烦……
这两天正在研究写 DLL 调用 DX,没时间,过两天再说吧……抱歉了。
另外,窗口中间的边框位置是怎么确定的,用户指定?窗口正中间?还是特定位置?

正在研究自己编写 DLL 来调用 DirectX ……DLL 完成了,脚本却遇到问题了……
回复 支持 反对

使用道具 举报

Lv2.观梦者 (管理员)

八云紫的式神

梦石
0
星屑
549
在线时间
1243 小时
注册时间
2008-1-1
帖子
4282

烫烫烫

8
发表于 2009-4-10 20:58:45 | 只看该作者
那个,不是【窗口中间】加边框,是把【两个】窗口之间的边框进行改变

坐标和宽度用户指定
rm for linux(wine)制作中,期待夏娜SAMA能实现到webrm上
回复 支持 反对

使用道具 举报

Lv2.观梦者 (管理员)

八云紫的式神

梦石
0
星屑
549
在线时间
1243 小时
注册时间
2008-1-1
帖子
4282

烫烫烫

9
发表于 2009-4-10 21:32:53 | 只看该作者
openness模式,建议改成跟小键盘方向对应的,5是从中心向四周
1是左下到右上,2是从下到上……………………

0表示从中间向左右,不对它进行赋值是用中间到上下(也就是nil,默认状态)
rm for linux(wine)制作中,期待夏娜SAMA能实现到webrm上
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
11986
在线时间
999 小时
注册时间
2007-12-15
帖子
188
10
 楼主| 发表于 2009-4-11 18:48:50 | 只看该作者
以下引用zh99998于2009-4-10 12:58:45的发言:

那个,不是【窗口中间】加边框,是把【两个】窗口之间的边框进行改变

坐标和宽度用户指定

原来是“把【两个】窗口之间的边框进行改变”啊,我知道了。

那么这里的距离呢?

以下引用zh99998于2009-4-10 13:32:53的发言:

openness模式,建议改成跟小键盘方向对应的,5是从中心向四周
1是左下到右上,2是从下到上……………………

0表示从中间向左右,不对它进行赋值是用中间到上下(也就是nil,默认状态)

很好的建议啊,不过我好像忘了写从中心向四周的过程了………………尽快加入吧……

正在研究自己编写 DLL 来调用 DirectX ……DLL 完成了,脚本却遇到问题了……
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-9 02:46

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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