Project1

标题: 怎么让显示动画暂停 [打印本页]

作者: D-Jack    时间: 2019-2-8 15:59
标题: 怎么让显示动画暂停
本帖最后由 D-Jack 于 2019-2-8 16:01 编辑

当画面显示动画到一半的时候呼叫菜单,返回后播放到一半的动画会消失
有没有办法让动画暂停或是在呼叫菜单的时候动画继续播放
作者: KB.Driver    时间: 2019-2-9 22:22
本帖最后由 KB.Driver 于 2019-2-9 22:27 编辑

自己写了个暂存地图精灵组的脚本。

使用前:
进入菜单后返回,地图播放的动画消失。


使用后:
进入菜单后返回,地图动画继续播放到结束。


脚本
RUBY 代码复制
  1. #==============================================================================
  2. # ■ 从地图进入菜单后,保留地图动画数据 by Calendar99
  3. #------------------------------------------------------------------------------
  4. #  功能如标题所说。
  5. #==============================================================================
  6.  
  7. class Scene_Map
  8.   #--------------------------------------------------------------------------
  9.   # ● [别名修改]释放精灵组
  10.   #--------------------------------------------------------------------------
  11.   alias dispose_spriteset_for_pause dispose_spriteset
  12.   def dispose_spriteset
  13.     if SceneManager.scene_is?(Scene_Menu) # 打开菜单时
  14.       $spriteset_map = @spriteset # 暂存地图精灵组
  15.     else
  16.       dispose_spriteset_for_pause # 原方法
  17.     end
  18.   end
  19.   #--------------------------------------------------------------------------
  20.   # ● [别名修改]生成精灵组
  21.   #--------------------------------------------------------------------------
  22.   alias create_spriteset_for_pause create_spriteset
  23.   def create_spriteset
  24.     if $spriteset_map
  25.       @spriteset, $spriteset_map = $spriteset_map, @spriteset # 取出暂存的精灵组
  26.     else
  27.       create_spriteset_for_pause # 原方法
  28.     end
  29.   end
  30. end


gif中可以看到,新建工程测试通过。
由于不太熟悉精灵组,不负责与其他脚本冲突的后续修改。




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