赞 | 8 |
VIP | 1 |
好人卡 | 6 |
积分 | 204 |
经验 | 289801 |
最后登录 | 2022-6-2 |
在线时间 | 88 小时 |
Lv5.捕梦者 御灵的宠物
- 梦石
- 12
- 星屑
- 8438
- 在线时间
- 88 小时
- 注册时间
- 2006-12-11
- 帖子
- 3148
|
这么说吧
Window_BattleStatus里边,initialize
x = (4 - $game_party.actors.size) * 80
width = $game_party.actors.size * 160 + 160
super(x, 320, width, 160)
这一段是总的窗口……
下边
if self.x != (4 - $game_party.actors.size) * 80
self.x = (4 - $game_party.actors.size) * 80
self.width = $game_party.actors.size * 160+160
这段是判断窗口是否要刷新
改这两段是那个总的窗口的位置和大小……
改整个菜单的排布在这里……
可能是为了刷新效率,它把战斗状态的刷新分开了N个部分
其中
@actor_window.push(Window_ActorStatus.new(i, x + i * 160))
这段是把每个单独角色的状态窗口加到一个数组里记录
然后是Window_ActorStatus
里边def initialize(id, x)这两个参数必须由上文那个@actor_window.push(Window_ActorStatus.new(i, x + i * 160))
赋予,也就是说这个窗口只是写第i号角色的状态,其x值为x+i*160……
最后是这个
@status_window.push(Window_DetailsStatus.new(actor, i, x))
这个是每个角色每个单独需要描绘的状态= =例如HP、SP、CP等等……
x值同样是由上边传递而来……
也就是说只要你改了 @actor_window.push(Window_ActorStatus.new(i, x + i * 160))
这个地方,你就能改到所有的x值
不过还有就是要顺便改掉整个窗口的大小和角色的排列~
角色排列是在Game_Actor的最后- -RTAB进行了重定义的,找出来就可以了
嗯,我觉得我说得有点乱……不过你看懂的话应该能改出来吧…… |
|