Project1

标题: 如何在动画播放的同时,连续刷新@status_window [打印本页]

作者: 明月栞那    时间: 2021-7-10 16:17
标题: 如何在动画播放的同时,连续刷新@status_window
本帖最后由 明月栞那 于 2021-7-10 16:20 编辑

如题,现在我想做一个在动画播放的同时,对@status_window里的一张图片进行连续刷新的效果,为此需要用到@status_window.refresh,但是我不管是将这个效果放在@phase4_step=4还是放在@phase4_step=5,要么是在动画播放前就实现了效果,要么就是在动画播放后才实现效果
所以我想请教一下,如何才能在动画播放的同时,每一帧都进行一次@status_window.refresh
类似的效果有彩虹神剑的那个连续伤害跳字效果,那个效果就是在动画播放的同时进行跳字,而现在我是想刷新status_window里的一张图片,但是我参考了一下结果什么都没得出来
不需要代码,我自己写,只要有人给我提供一个思路就好,谢谢了

作者: st251355    时间: 2021-7-10 16:36
在update的循環裡 調用@status_window.refresh
當然這得寫好判斷式 因為refresh內如果包含文字 效能將會有顯著的下降
作者: 明月栞那    时间: 2021-7-10 23:43
st251355 发表于 2021-7-10 16:36
在update的循環裡 調用@status_window.refresh
當然這得寫好判斷式 因為refresh內如果包含文字 效能將會有 ...

回的迟了很不好意思,刚刚才有空。具体而言的话是写在哪里的update呢?同时我也不是很清楚要如何判断一个动画是否已经开始播放了,且在播放结束前。是@animation2_id.empty吗……但是我写了如果不为empty那么实现效果,但是结果是在动画播放前就实现了,然后才播放动画
作者: 明月栞那    时间: 2021-7-10 23:59
st251355 发表于 2021-7-10 16:36
在update的循環裡 調用@status_window.refresh
當然這得寫好判斷式 因為refresh內如果包含文字 效能將會有 ...

哦找到了,是这里吧

# 显示效果中的情况下
    if @spriteset.effect?

return
end
效果实现了,但是现在出现了新的问题……掉帧严重,瞬间60→30不到,请问这个有什么解决方法吗
      
作者: enghao_lim    时间: 2021-7-11 01:08
明月栞那 发表于 2021-7-10 23:59
哦找到了,是这里吧

# 显示效果中的情况下

把图片单独做成一个sprite,@status_window.refresh会执行所有的刷新,包括文字描绘等,可以单独给sprite刷新追加一个新的定义比如:@status_window.sprite_refresh,而这里只执行sprite的刷新,这样就不会动到@status_window里头原有的bitmap。
作者: 明月栞那    时间: 2021-7-11 02:30
enghao_lim 发表于 2021-7-11 01:08
把图片单独做成一个sprite,@status_window.refresh会执行所有的刷新,包括文字描绘等,可以单独给sprite ...

完美实现了!谢谢提示。
作者: 明月栞那    时间: 2021-7-11 02:31
st251355 发表于 2021-7-10 16:36
在update的循環裡 調用@status_window.refresh
當然這得寫好判斷式 因為refresh內如果包含文字 效能將會有 ...

谢谢回答,解决了。




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1