赞 | 0 |
VIP | 10 |
好人卡 | 49 |
积分 | 10 |
经验 | 22958 |
最后登录 | 2020-8-1 |
在线时间 | 2161 小时 |
Lv3.寻梦者 酱油的
- 梦石
- 0
- 星屑
- 1035
- 在线时间
- 2161 小时
- 注册时间
- 2007-12-22
- 帖子
- 3271
|
唔,第一個問題不知道(放大成800%的全屏动画会让FPS彻底垮掉)。
第二個問題我倒是知道原因(几个敌人同时播放特别大的动画也吃不消)。
主要原因不是出在RPG::Sprite當中,所以無論妳怎麼優化也起不了太大作用(當然,估計API也是)。
主要原因出在Scene_Battle當中(這個剛好有涉獵)。在Scene_Battle 4當中有這句:
line:411
for target in @target_battlers
target.animation_id = @animation2_id
target.animation_hit = (target.damage != "Miss")
end
具體意思顯而易見,就是把生成目標的動畫。
但是,可以注意到的是:for
這裏是一個循環,所以說目標有幾個就顯示幾個動畫。所謂全體攻擊,也就是全體人員「同時」顯示「數個」同樣的動畫。
這樣子,
我們的敵人有3個,就會「同時」顯示3個動畫
我們的敵人有10個,就會「同時」顯示10個動畫
所以,我們的程序就會卡了。
(特別是特別巨大的全屏動畫)
用這個替換原方法:
#--------------------------------------------------------------------------
# ● 刷新画面 (主回合步骤 4 : 对像方动画)
#--------------------------------------------------------------------------
def update_phase4_step4
# 对像方动画
a = 0
for target in @target_battlers
target.animation_id = @animation2_id + a
target.animation_hit = (target.damage != "Miss")
a += 1
end
# 限制动画长度、最低 8 帧
@wait_count = 8
# 移至步骤 5
@phase4_step = 5
end
然後放全體技能看看……妳就知道發生甚麽事了==! 系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~ |
|