| 
 
| 赞 | 9 |  
| VIP | 1 |  
| 好人卡 | 6 |  
| 积分 | 205 |  
| 经验 | 289801 |  
| 最后登录 | 2025-6-10 |  
| 在线时间 | 94 小时 |  
 Lv5.捕梦者 御灵的宠物 
	梦石12 星屑8481 在线时间94 小时注册时间2006-12-11帖子3156 
 | 
| 这么说吧 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进行了重定义的,找出来就可以了
 
 嗯,我觉得我说得有点乱……不过你看懂的话应该能改出来吧……
 | 
 |