赞 | 0 |
VIP | 4 |
好人卡 | 43 |
积分 | 94 |
经验 | 75226 |
最后登录 | 2019-3-3 |
在线时间 | 1131 小时 |
Lv4.逐梦者
- 梦石
- 3
- 星屑
- 6420
- 在线时间
- 1131 小时
- 注册时间
- 2007-12-26
- 帖子
- 2402
|
1、Scene_Battle 1,234-238行:
# 如果不是结束战斗回合的情况下
if @phase != 5
# 刷新状态窗口
@status_window.refresh
end
删了它!就是它造成很卡的。解释一句:这段的功能是刷新状态窗口,防止公共事件中我方减血后状态窗口没有更新出来。
2、不过这段又不能完全不要,否则我方用公共事件或遭到公共事件攻击的时候状态窗口会完全忘记刷新。所以把上面那段插到Scene_Battle 4的 def update_phase4_step6的比较靠下的敌方,变成如下:
def update_phase4_step6
# 清除强制行动对像的战斗者
$game_temp.forcing_battler = nil
# 公共事件 ID 有效的情况下
if @common_event_id > 0
# 设置事件
common_event = $data_common_events[@common_event_id]
$game_system.battle_interpreter.setup(common_event.list, 0)
end
# 如果不是结束战斗回合的情况下
if @phase != 5
# 刷新状态窗口
@status_window.refresh
end
# 移至步骤 1
@phase4_step = 1
end
也就是说,公共事件执行结束后再刷新。这样把几百次刷新变为了1次,而效果相差很小。
经过测试,黑暗圣剑中的灵炮,在做此更改前后,帧速率由9提升至17。还不错。
其实有关优化的内容有很多,公共事件多了也会造成拖沓,这些倒是可以设法手动修改脚本减少拖沓。唯一比较恶心的是地图大了造成的拖沓无法挽回(因为那段代码没有公开在脚本中……) 系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~ |
|