赞 | 1 |
VIP | 20 |
好人卡 | 8 |
积分 | 3 |
经验 | 6181 |
最后登录 | 2022-8-5 |
在线时间 | 271 小时 |
Lv2.观梦者 神隐的主犯
- 梦石
- 0
- 星屑
- 263
- 在线时间
- 271 小时
- 注册时间
- 2008-2-22
- 帖子
- 7691
|
本帖最后由 八云紫 于 2011-1-9 21:12 编辑
Window 窗口
其实这个教程想了好久, 不知道该怎么写. 于是就照搬 F1 了, 只是更加进一步说明一下. 或者给点例子什么的.
Window 窗口类
游戏窗口的类。在内部由多重的精灵所组成。
类方法
Window.new([viewport])
生成一个窗口物件。必要时指定一个显示端口(Viewport 显示端口类)。
方法
★ dispose
释放窗口。若窗口已释放则什么都不做。
★ disposed?
当窗口已释放则返回 true。
★ update
刷新光标的闪烁和暂停标记的动画。原则上每一画格调用一次。
除非有使用光标或者是暂停标记, 其他的情况下, 没有必要调用这个方法. 起不到任何作用.
属性
★ windowskin
引用作为窗口外观的位图(Bitmap 位图类)。
只能够使用 VX 的窗口外观。(RGSS2)
VX 所使用的窗口素材与 XP 相比有很大的不同, 这个看素材就知道了.(其实是没有安装 XP , 也不好细说, 以后增加吧. 或者去看看有没有人写过这个~)
★ contents
引用作为窗口内容的位图(Bitmap点阵图类)
默认的 contents 的初始值其实是这个的:- contents = Bitmap.new(0, 0, 1, 1)
复制代码 这个值分别在 Window_Base 和 Window_Selectable 的 create_contents 方法里被重新赋值.
★ viewport (RGSS2)
引用与窗口关联的显示端口(Viewport显示端口类)。
这里要非常的注意一个问题, Window 类里使用的viewport 其实就是在初始化的时候指定的那个. 如果之前的那个 viewport 被修改的话, 这里也会被修改. - v = Viewport.new(0, 0, 100, 100)
- w = Window.new(v)
- p w.viewport.rect
- v.rect.x = 10
- p w.viewport.rect
复制代码
★ cursor_rect
游标的矩形(Rect矩形类)以相对坐标 (-16, -16) 设置窗口的左上角。
这里注意一下, 真实的测试效果和 F1 的说明不一致, 不知道是不是我的测试出问题了.- w = Window.new()
- p w.cursor_rect
复制代码 得到的结果是 (0, 0, 0, 0) . 不是F1 里的 -16, -16.
★ active
光标闪烁的状态。true 表示闪烁。
★ visible
窗口可见的状态。true 表示可见。
★ pause
暂停标记可见的状态。true 表示可见。
★ x
窗口的 X 坐标。
★ y
窗口的 Y 坐标。
★ width
窗口的宽度。
★ height
窗口的高度。
★ z
窗口的 Z 坐标。数值愈大的平面愈靠近玩家。Z 坐标相同的,最后生成的对象则会最靠近玩家。
窗口背景和内容的 Z 坐标在 RGSS2 中不能使用不同的 Z 坐标。(RGSS2)
★ ox
窗口内容的 X 坐标。滚动窗口时修改此数值。
★ oy
窗口内容的 Y 坐标。滚动窗口时修改此数值。
以上两个属性和 Sprite 的同名属性作用一样. 在不移动窗口位置的情况下, 仅仅是移动窗口的内容. 这个可以理解成 当角色在地图上行走的时候, 地图需要适应性的滚动, 但是 RM 的窗口的位置依旧不变一样.
★ opacity
窗口的不透明度(0~255)。超出此范围的数值会自动修正。
opacity 针对的是整个Window
★ back_opacity
窗口背景的不透明度(0~255)。超出此范围的数值会自动修正。
★ contents_opacity
窗口内容的不透明度(0~255)。超出此范围的数值会自动修正。
★ openness (RGSS2)
窗口的开启程度(0~255)。超出此范围的数值会自动修正。
将此数值从 0(完全关闭)至 255(完全开启)之间变换,可以产生窗口打开和关闭的动画效果。 openness 若低于 255,则不会显示其内容。默认值 255。
Window 的内容只有在 openness 等于 255 的时候才能显示出来. |
|