查看: 2316|回复: 4

[已经解决] 计时器怎么正计时

[复制链接]
梦石
0
星屑
75
在线时间
27 小时
注册时间
2014-7-19
回帖
87
发表于 2014-8-30 11:40:51 | 显示全部楼层 |阅读模式

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

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

×
不会弄。
梦石
0
星屑
75
在线时间
27 小时
注册时间
2014-7-19
回帖
87
 楼主| 发表于 2014-8-30 12:19:18 | 显示全部楼层
自顶。。

点评

不要频繁自顶  发表于 2014-8-30 12:45
回复

使用道具 举报

梦石
0
星屑
75
在线时间
27 小时
注册时间
2014-7-19
回帖
87
 楼主| 发表于 2014-8-30 12:20:01 | 显示全部楼层
就是每秒加一而不是减一
回复

使用道具 举报

梦石
0
星屑
400
在线时间
602 小时
注册时间
2014-5-8
回帖
602
发表于 2014-8-30 12:56:32 | 显示全部楼层
本帖最后由 布罗利 于 2014-8-30 13:07 编辑

找到Game_System这个脚本
翻到最下面
把if @timer_working and @timer > 0 改成if @timer_working
把@timer -= 1改成@timer += 1
然后开始计时的时候得是0秒
或者直接替换掉这个脚本
[pre lang="ruby" line="1"]#==============================================================================
# ■ Game_System
#------------------------------------------------------------------------------
#  处理系统附属数据的类。也可执行诸如 BGM 管理之类的功能。本类的实例请参考
# $game_system 。
#==============================================================================

class Game_System
  #--------------------------------------------------------------------------
  # ● 定义实例变量
  #--------------------------------------------------------------------------
  attr_reader   :map_interpreter          # 地图事件用解释程序
  attr_reader   :battle_interpreter       # 战斗事件用解释程序
  attr_accessor :timer                    # 计时器
  attr_accessor :timer_working            # 计时器执行中的标志
  attr_accessor :save_disabled            # 禁止存档
  attr_accessor :menu_disabled            # 禁止菜单
  attr_accessor :encounter_disabled       # 禁止遇敌
  attr_accessor :message_position         # 文章选项 显示位置
  attr_accessor :message_frame            # 文章选项 窗口外关
  attr_accessor :save_count               # 存档次数
  attr_accessor :magic_number             # 魔法编号
  #--------------------------------------------------------------------------
  # ● 初始化对像
  #--------------------------------------------------------------------------
  def initialize
    @map_interpreter = Interpreter.new(0, true)
    @battle_interpreter = Interpreter.new(0, false)
    @timer = 0
    @timer_working = false
    @save_disabled = false
    @menu_disabled = false
    @encounter_disabled = false
    @message_position = 2
    @message_frame = 0
    @save_count = 0
    @magic_number = 0
  end
  #--------------------------------------------------------------------------
  # ● 演奏 BGM
  #     bgm : 演奏的 BGM
  #--------------------------------------------------------------------------
  def bgm_play(bgm)
    @playing_bgm = bgm
    if bgm != nil and bgm.name != ""
      Audio.bgm_play("Audio/BGM/" + bgm.name, bgm.volume, bgm.pitch)
    else
      Audio.bgm_stop
    end
    Graphics.frame_reset
  end
  #--------------------------------------------------------------------------
  # ● 停止 BGM
  #--------------------------------------------------------------------------
  def bgm_stop
    Audio.bgm_stop
  end
  #--------------------------------------------------------------------------
  # ● BGM 的淡出
  #     time : 淡出时间 (秒)
  #--------------------------------------------------------------------------
  def bgm_fade(time)
    @playing_bgm = nil
    Audio.bgm_fade(time * 1000)
  end
  #--------------------------------------------------------------------------
  # ● 记忆 BGM
  #--------------------------------------------------------------------------
  def bgm_memorize
    @memorized_bgm = @playing_bgm
  end
  #--------------------------------------------------------------------------
  # ● 还原 BGM
  #--------------------------------------------------------------------------
  def bgm_restore
    bgm_play(@memorized_bgm)
  end
  #--------------------------------------------------------------------------
  # ● 演奏 BGS
  #     bgs : 演奏的 BGS
  #--------------------------------------------------------------------------
  def bgs_play(bgs)
    @playing_bgs = bgs
    if bgs != nil and bgs.name != ""
      Audio.bgs_play("Audio/BGS/" + bgs.name, bgs.volume, bgs.pitch)
    else
      Audio.bgs_stop
    end
    Graphics.frame_reset
  end
  #--------------------------------------------------------------------------
  # ● BGS 的淡出
  #     time : 淡出时间 (秒)
  #--------------------------------------------------------------------------
  def bgs_fade(time)
    @playing_bgs = nil
    Audio.bgs_fade(time * 1000)
  end
  #--------------------------------------------------------------------------
  # ● 记忆 BGS
  #--------------------------------------------------------------------------
  def bgs_memorize
    @memorized_bgs = @playing_bgs
  end
  #--------------------------------------------------------------------------
  # ● 还原 BGS
  #--------------------------------------------------------------------------
  def bgs_restore
    bgs_play(@memorized_bgs)
  end
  #--------------------------------------------------------------------------
  # ● ME 的演奏
  #     me : 演奏的 ME
  #--------------------------------------------------------------------------
  def me_play(me)
    if me != nil and me.name != ""
      Audio.me_play("Audio/ME/" + me.name, me.volume, me.pitch)
    else
      Audio.me_stop
    end
    Graphics.frame_reset
  end
  #--------------------------------------------------------------------------
  # ● SE 的演奏
  #     se : 演奏的 SE
  #--------------------------------------------------------------------------
  def se_play(se)
    if se != nil and se.name != ""
      Audio.se_play("Audio/SE/" + se.name, se.volume, se.pitch)
    end
  end
  #--------------------------------------------------------------------------
  # ● 停止 SE
  #--------------------------------------------------------------------------
  def se_stop
    Audio.se_stop
  end
  #--------------------------------------------------------------------------
  # ● 获取演奏中 BGM
  #--------------------------------------------------------------------------
  def playing_bgm
    return @playing_bgm
  end
  #--------------------------------------------------------------------------
  # ● 获取演奏中 BGS
  #--------------------------------------------------------------------------
  def playing_bgs
    return @playing_bgs
  end
  #--------------------------------------------------------------------------
  # ● 获取窗口外观的文件名
  #--------------------------------------------------------------------------
  def windowskin_name
    if @windowskin_name == nil
      return $data_system.windowskin_name
    else
      return @windowskin_name
    end
  end
  #--------------------------------------------------------------------------
  # ● 设置窗口外观的文件名
  #     windowskin_name : 新的窗口外观文件名
  #--------------------------------------------------------------------------
  def windowskin_name=(windowskin_name)
    @windowskin_name = windowskin_name
  end
  #--------------------------------------------------------------------------
  # ● 获取战斗 BGM
  #--------------------------------------------------------------------------
  def battle_bgm
    if @battle_bgm == nil
      return $data_system.battle_bgm
    else
      return @battle_bgm
    end
  end
  #--------------------------------------------------------------------------
  # ● 设置战斗 BGM
  #     battle_bgm : 新的战斗 BGM
  #--------------------------------------------------------------------------
  def battle_bgm=(battle_bgm)
    @battle_bgm = battle_bgm
  end
  #--------------------------------------------------------------------------
  # ● 获取战斗结束的 BGM
  #--------------------------------------------------------------------------
  def battle_end_me
    if @battle_end_me == nil
      return $data_system.battle_end_me
    else
      return @battle_end_me
    end
  end
  #--------------------------------------------------------------------------
  # ● 设置战斗结束的 BGM
  #     battle_end_me : 新的战斗结束 BGM
  #--------------------------------------------------------------------------
  def battle_end_me=(battle_end_me)
    @battle_end_me = battle_end_me
  end
  #--------------------------------------------------------------------------
  # ● 刷新画面
  #--------------------------------------------------------------------------
  def update
    # 计时器加 1
    if @timer_working #and @timer = 0
      @timer += 1
  end
end
end[/pre]

点评

下次发脚本的时候把改过的地方发上来就好,没有必要全都发上来。像这个你只需要发关于update的即可。  发表于 2014-9-10 17:13
谢谢  发表于 2014-8-31 11:14

评分

参与人数 1星屑 +200 收起 理由
RyanBern + 200 认可答案

查看全部评分

回复

使用道具 举报

梦石
0
星屑
9557
在线时间
5074 小时
注册时间
2013-6-21
回帖
3459

开拓者贵宾剧作品鉴家

发表于 2014-8-30 13:42:54 | 显示全部楼层
在这里,如果默认打开一号开关,计时器做的是正计时操作,关闭1号开关是倒计时。如果要更改的话,改那个COUNTDOWN_DISABLED
  1. class Game_System
  2.   # 打开1号开关是正计时
  3.   COUNTDOWN_DISABLED = 1
  4.   #--------------------------------------------------------------------------
  5.   # ● 刷新画面
  6.   #--------------------------------------------------------------------------
  7.   def update
  8.     # 计时器减 1
  9.     if @timer_working
  10.       if !$game_switches[COUNTDOWN_DISABLED] && @timer > 0
  11.         @timer -= 1
  12.         return
  13.       end
  14.       if $game_switches[COUNTDOWN_DISABLED]
  15.         @timer += 1
  16.         return
  17.       end
  18.     end
  19.   end
  20. end
复制代码

点评

=_=呃……没考虑这个  发表于 2014-8-30 18:30
计时器有实时显示的啊,那个也用事件弄?  发表于 2014-8-30 18:16
=_=用变量记下时间,然后去减啊。  发表于 2014-8-30 18:14
M君快教我怎么用事件做~  发表于 2014-8-30 17:40
没有事件的吗=_=  发表于 2014-8-30 14:12
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部