设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2291|回复: 0
打印 上一主题 下一主题

[推荐问答] 【自问答】解决人物跟随脚本的卡顿问题

[复制链接]

Lv5.捕梦者 (版主)

梦石
1
星屑
23963
在线时间
3338 小时
注册时间
2011-7-8
帖子
3925

开拓者

跳转到指定楼层
1
发表于 2017-3-17 23:27:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 guoxiaomi 于 2017-3-18 01:41 编辑

(随处可见的)XP人物跟随脚本,会在重新进入 Scene_Map 的时候卡顿一帧(闪烁),只显示主角不显示跟随的人物,因为此时尚未更新跟随人物的 Sprite,然后调用 update 方法后才会显示跟随人物。

由于图像是从无到有,即使是 1 帧,也能被重度强迫症患者觉察到。

实际上有一个巧妙的方法来解决。按照上面所说的卡顿的原因,只要在调用 update 一次以后再执行画面过渡就好了。

请看修改后的 Scene_Map 的 main 方法的第 11 行:

为什么刷新了输入,因为从 Scene_Menu 退回到 Scene_Map 的时候,是按 X 键退回,如果不刷新按键的话,执行 update 时就会回到 Scene_Menu ……

RUBY 代码复制
  1. class Scene_Map
  2.   #--------------------------------------------------------------------------
  3.   # ● 主处理
  4.   #--------------------------------------------------------------------------
  5.   def main
  6.     # 生成活动块
  7.     @spriteset = Spriteset_Map.new
  8.     # 生成信息窗口
  9.     @message_window = Window_Message.new
  10.     # 刷新输入和画面(解决人物跟随卡顿)
  11.     Input.update
  12.     update
  13.     # 执行过渡
  14.     Graphics.transition   
  15.     # 主循环
  16.     loop do
  17.       # 刷新游戏画面
  18.       Graphics.update
  19.       # 刷新输入信息
  20.       Input.update
  21.       # 刷新画面
  22.       update
  23.       # 如果画面切换的话就中断循环
  24.       if $scene != self
  25.         break
  26.       end
  27.     end
  28.     # 准备过渡
  29.     Graphics.freeze
  30.     # 释放活动块
  31.     @spriteset.dispose
  32.     # 释放信息窗口
  33.     @message_window.dispose
  34.     # 标题画面切换中的情况下
  35.     if $scene.is_a?(Scene_Title)
  36.       # 淡入淡出画面
  37.       Graphics.transition
  38.       Graphics.freeze
  39.     end
  40.   end
  41. end


本来想问这个问题的,看来我果然不适合伸手……

评分

参与人数 1梦石 +1 收起 理由
RyanBern + 1 醋瞎

查看全部评分

熟悉rgss和ruby,xp区版主~
正在填坑:《膜拜组传奇》讲述膜拜组和学霸们的故事。
已上steam:与TXBD合作的Reformers《变革者》
* 战斗调用公共事件 *
* RGSOS 网络脚本 *
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-4-19 13:52

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表