Project1

标题: 请问如何在对话或触发新的事件的时候暂停计时器 [打印本页]

作者: 无忧谷主幻    时间: 2014-11-11 11:45
标题: 请问如何在对话或触发新的事件的时候暂停计时器
注意是暂停,不是停止
作者: OCTSJimmy    时间: 2014-11-12 00:33
记录下当前的计时时间,并消除前一个计时器,于记录下的时间开始,重新计时。
作者: wolves    时间: 2014-11-23 12:33
把Sprite_Timer的def update部分改成如下部分
  1. def update
  2.     super
  3.     # 设置计时器执行中为可见
  4.     self.visible = $game_system.timer_working
  5.     # 如果有必要再次描绘计时器
  6.     if $game_system.timer / Graphics.frame_rate != @total_sec
  7.       # 清除窗口内容
  8.       self.bitmap.clear
  9.       # 计算总计秒数
  10.       if $pause==0
  11.         @timepause=$game_system.timer
  12.         $pause = 1
  13.       elsif $pause == 1
  14.         if @timepause != $game_system.timer
  15.           $game_system.timer = @timepause
  16.         end
  17.       end
  18.       @total_sec = $game_system.timer / Graphics.frame_rate
  19.       # 生成计时器显示用字符串
  20.       min = @total_sec / 60
  21.       sec = @total_sec % 60
  22.       text = sprintf("%02d:%02d", min, sec)
  23.       # 描绘计时器
  24.       self.bitmap.font.color.set(255, 255, 255)
  25.       self.bitmap.draw_text(self.bitmap.rect, text, 1)
  26.     end
  27.   end
复制代码
需要暂停的时候用这段代码:
  1. $pause = 0
复制代码
需要继续的时候用这段代码:
  1. $pause = nil
复制代码





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