赞 | 0 |
VIP | 0 |
好人卡 | 27 |
积分 | 1 |
经验 | 21216 |
最后登录 | 2017-9-15 |
在线时间 | 269 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 50
- 在线时间
- 269 小时
- 注册时间
- 2014-5-9
- 帖子
- 127

|
本帖最后由 泉塚四季 于 2014-8-22 17:24 编辑
其实回避了问题应该就算解决了问题吧。
切割选择角色窗口下方窗口的处理是由Scene_ItemBase中的show_sub_window这个方法执行的:- def show_sub_window(window)
- width_remain = Graphics.width - window.width
- window.x = cursor_left? ? width_remain : 0
- @viewport.rect.x = @viewport.ox = cursor_left? ? 0 : window.width
- @viewport.rect.width = width_remain
- window.show.activate
- end
复制代码 一句一句分析代码后我们可以了解,这个方法实现这一效果的具体的做法是修改了窗口所对应的显示端口(@viewport)的宽度,使窗口只显示包含在显示端口内的那一部分。
如果希望不切割窗口的话,将viewport处理部分的代码删掉就好了:- def show_sub_window(window)
- width_remain = Graphics.width - window.width
- window.x = cursor_left? ? width_remain : 0
- window.show.activate
- end
复制代码 但是,这样的代码在实际执行过程中发现了问题,选择角色的窗口被物品等窗口挡住了。不过这个很好办,只要再手动给这个窗口设置一个高于其他遮挡物件的z坐标就解决了:- def show_sub_window(window)
- width_remain = Graphics.width - window.width
- window.x = cursor_left? ? width_remain : 0
- window.z = 999
- window.show.activate
- end
复制代码 另外需要注意的是,Scene_ItemBase是Scene_Item和Scene_Skill的父类,这个改动会同时影响到技能界面和物品界面中显示窗口的方式,因此如果只希望修改其中一个界面的显示方式的话,请把这个方法单独插入到对应的类中。 |
评分
-
查看全部评分
|