Project1

标题: 计时器在战斗结束后不显示的问题?在线等! [打印本页]

作者: a107480098    时间: 2015-6-8 20:09
标题: 计时器在战斗结束后不显示的问题?在线等!
我改了下计时器脚本,加了2个功能:

1、战斗倒计时系统,在倒计时为0秒时主角自动开始攻击,这个目前没有发现问题。

2、加了一个图片显示的功能,公共事件里,当68号开关打开时,计时器倒计时开始工作并显示这个图片,
当68号开关关闭时(当倒计时为0秒时),计时器停止并且图片消失。

我的问题有2个:

1、当进入战斗时,计时器工作正常,可是战斗画面上出现了2个一样的这个图片,右上角的这个是我想要显示的,仔细看,另一个图片在正中上部的这个图片是怎么回事?有截图在下面。脚本在截图的下面。

2、计时器在战斗结束后不显示计时时间也不显示这个图片了?

RUBY 代码复制
  1. #==============================================================================
  2. # ■ Sprite_Timer
  3. #------------------------------------------------------------------------------
  4. #  显示计时器用的活动块。监视 $game_system 、活动块状态
  5. # 自动变化。
  6. #==============================================================================
  7.  
  8. class Sprite_Timer < Sprite
  9.   #--------------------------------------------------------------------------
  10.   # ● 初始化对像
  11.   #--------------------------------------------------------------------------
  12.   def initialize
  13.     super
  14.     self.bitmap = Bitmap.new(88, 80)
  15.     self.bitmap.font.name = "宋体"#"Arial"
  16.     self.bitmap.font.size = 14
  17.     self.x = 640 - self.bitmap.width + 14
  18.     self.y = 50 + 3
  19.     self.z = 500
  20.     # 战斗计时系统★★★★★★★★★★★★★★★★★★★★★★★★★
  21.     if $game_temp.in_battle
  22.       self.bitmap.font.size = 80
  23.       self.x = 260
  24.       self.y = 10
  25.       self.z = 500
  26.     end
  27.     # ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
  28.     update
  29.   end
  30.   #--------------------------------------------------------------------------
  31.   # ● 释放
  32.   #--------------------------------------------------------------------------
  33.   def dispose
  34.     if self.bitmap != nil
  35.       self.bitmap.dispose
  36.     end
  37.     super
  38.   end
  39.   #--------------------------------------------------------------------------
  40.   # ● 刷新画面
  41.   #--------------------------------------------------------------------------
  42.   def update
  43.     super
  44.     # 设置计时器执行中为可见
  45.     self.visible = $game_system.timer_working
  46.     # 如果有必要再次描绘计时器
  47.     if $game_system.timer / Graphics.frame_rate != @total_sec
  48.       # 清除窗口内容
  49.       self.bitmap.clear
  50.       # 计算总计秒数
  51.       @total_sec = $game_system.timer / Graphics.frame_rate
  52.       # 生成计时器显示用字符串
  53.       min = @total_sec / 60
  54.       sec = @total_sec % 60
  55.       text = sprintf("%02d:%02d", min, sec)
  56.     if $game_temp.in_battle
  57.       text = sprintf("%02d", sec)
  58.     end      
  59.       # 描绘计时器
  60.       self.bitmap.font.color.set(255, 255, 255)
  61.     if $game_switches[68]
  62.       self.bitmap.font.color.set(255, 228, 0)
  63.       @syx_icon = RPG::Cache.icon("摄妖香-图标")
  64.       self.bitmap.blt(32, 0, @syx_icon, Rect.new(0, 0, 22, 22))
  65.       self.bitmap.draw_text(0, 25, 88, 15, text, 1)#(self.bitmap.rect, text, 1)
  66.     end
  67.     if $game_temp.in_battle
  68.         if sec >= 0
  69.           self.bitmap.font.color.set(255, 0, 0)
  70.           self.bitmap.draw_text(self.bitmap.rect, text, 1)
  71.         else
  72.           self.bitmap.font.color.set(255, 0, 0)
  73.           self.bitmap.draw_text(self.bitmap.rect, text, 1)      
  74.         end  
  75.       end
  76.      # ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★      
  77.     end
  78.   end
  79. end







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