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

Project1

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

[已经解决] Graphics.frame_reset什么时候能用?

[复制链接]

Lv1.梦旅人

梦石
0
星屑
49
在线时间
157 小时
注册时间
2013-8-14
帖子
203
跳转到指定楼层
1
发表于 2013-9-6 18:51:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
F1 :
Graphics.frame_reset
重设画面的更新时间。调用该方法花费时间处理后,能避免严重的跳帧现象。


问题 :
1. Graphics.frame_reset的使用时机?
2. 能随处调用吗?
2. 以下,为什么要在那个时后调用Graphics.frame_reset?


Game_System
RUBY 代码复制
  1. #--------------------------------------------------------------------------
  2.   # ● 演奏 BGM
  3.   #     bgm : 演奏的 BGM
  4.   #--------------------------------------------------------------------------
  5.   def bgm_play(bgm)
  6.     @playing_bgm = bgm
  7.     if bgm != nil and bgm.name != ""
  8.       Audio.bgm_play("Audio/BGM/" + bgm.name, bgm.volume, bgm.pitch)
  9.     else
  10.       Audio.bgm_stop
  11.     end
  12.     Graphics.frame_reset
  13.   end

RUBY 代码复制
  1. #--------------------------------------------------------------------------
  2.   # ● 演奏 BGS
  3.   #     bgs : 演奏的 BGS
  4.   #--------------------------------------------------------------------------
  5.   def bgs_play(bgs)
  6.     @playing_bgs = bgs
  7.     if bgs != nil and bgs.name != ""
  8.       Audio.bgs_play("Audio/BGS/" + bgs.name, bgs.volume, bgs.pitch)
  9.     else
  10.       Audio.bgs_stop
  11.     end
  12.     Graphics.frame_reset
  13.   end

RUBY 代码复制
  1. #--------------------------------------------------------------------------
  2.   # ● ME 的演奏
  3.   #     me : 演奏的 ME
  4.   #--------------------------------------------------------------------------
  5.   def me_play(me)
  6.     if me != nil and me.name != ""
  7.       Audio.me_play("Audio/ME/" + me.name, me.volume, me.pitch)
  8.     else
  9.       Audio.me_stop
  10.     end
  11.     Graphics.frame_reset
  12.   end

Spriteset_Map
RUBY 代码复制
  1. #--------------------------------------------------------------------------
  2.   # ● 刷新画面
  3.   #--------------------------------------------------------------------------
  4.   def update
  5.     # 远景与现在的情况有差异发情况下
  6.     if @panorama_name != $game_map.panorama_name or
  7.        @panorama_hue != $game_map.panorama_hue
  8.       @panorama_name = $game_map.panorama_name
  9.       @panorama_hue = $game_map.panorama_hue
  10.       if @panorama.bitmap != nil
  11.         @panorama.bitmap.dispose
  12.         @panorama.bitmap = nil
  13.       end
  14.       if @panorama_name != ""
  15.         @panorama.bitmap = RPG::Cache.panorama(@panorama_name, @panorama_hue)
  16.       end
  17.       Graphics.frame_reset
  18.     end
  19.     # 雾与现在的情况有差异的情况下
  20.     if @fog_name != $game_map.fog_name or @fog_hue != $game_map.fog_hue
  21.       @fog_name = $game_map.fog_name
  22.       @fog_hue = $game_map.fog_hue
  23.       if @fog.bitmap != nil
  24.         @fog.bitmap.dispose
  25.         @fog.bitmap = nil
  26.       end
  27.       if @fog_name != ""
  28.         @fog.bitmap = RPG::Cache.fog(@fog_name, @fog_hue)
  29.       end
  30.       Graphics.frame_reset
  31.     end

Scene_Map
RUBY 代码复制
  1. #--------------------------------------------------------------------------
  2.   # ● 主角的场所移动
  3.   #--------------------------------------------------------------------------
  4.   def transfer_player
  5.     # 清除主角场所移动调试标志
  6.     $game_temp.player_transferring = false
  7.     # 移动目标与现在的地图有差异的情况下
  8.     if $game_map.map_id != $game_temp.player_new_map_id
  9.       # 设置新地图
  10.       $game_map.setup($game_temp.player_new_map_id)
  11.     end
  12.     # 设置主角位置
  13.     $game_player.moveto($game_temp.player_new_x, $game_temp.player_new_y)
  14.     # 设置主角朝向
  15.     case $game_temp.player_new_direction
  16.     when 2  # 下
  17.       $game_player.turn_down
  18.     when 4  # 左
  19.       $game_player.turn_left
  20.     when 6  # 右
  21.       $game_player.turn_right
  22.     when 8  # 上
  23.       $game_player.turn_up
  24.     end
  25.     # 矫正主角姿势
  26.     $game_player.straighten
  27.     # 刷新地图 (执行并行事件)
  28.     $game_map.update
  29.     # 在生成活动块
  30.     @spriteset.dispose
  31.     @spriteset = Spriteset_Map.new
  32.     # 处理过渡中的情况下
  33.     if $game_temp.transition_processing
  34.       # 清除过渡处理中标志
  35.       $game_temp.transition_processing = false
  36.       # 执行过渡
  37.       Graphics.transition(20)
  38.     end
  39.     # 执行地图设置的 BGM、BGS 的自动切换
  40.     $game_map.autoplay
  41.     # 设置画面
  42.     Graphics.frame_reset
  43.     # 刷新输入信息
  44.     Input.update
  45.   end
  46. end

Lv1.梦旅人

梦石
0
星屑
117
在线时间
552 小时
注册时间
2012-8-18
帖子
1429
2
发表于 2013-9-7 12:31:55 | 只看该作者
表示不清楚不知道不了解=-=貌似RGE都把他废掉了……
我要填坑!我要背单词!我要学日语!我要每天锻炼!
好吧呵呵= =
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
49
在线时间
157 小时
注册时间
2013-8-14
帖子
203
3
 楼主| 发表于 2013-9-7 12:34:20 | 只看该作者
无脑之人 发表于 2013-9-7 12:31
表示不清楚不知道不了解=-=貌似RGE都把他废掉了……

这样啊...
@弗雷德  
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
275
在线时间
1373 小时
注册时间
2005-10-16
帖子
5113

贵宾

4
发表于 2013-9-8 09:49:52 | 只看该作者
Graphics.frame_reset
重设画面的更新时间。调用该方法花费时间处理后,能避免严重的跳帧现象

Graphics.frame_reset可以帮助避免因播放较大文件音效时的失帧现象,好像是这个功效来的。

另外请多用搜索功能:http://www.66rpg.com/articles/3190

评分

参与人数 1星屑 +91 收起 理由
弗雷德 + 91 认可答案

查看全部评分

我只个搬答案的
叔叔我已经当爹了~
婚后闪人了……
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

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

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

GMT+8, 2024-11-17 19:44

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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