赞 | 0 |
VIP | 2 |
好人卡 | 0 |
积分 | 1 |
经验 | 11270 |
最后登录 | 2016-9-21 |
在线时间 | 207 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 50
- 在线时间
- 207 小时
- 注册时间
- 2014-8-16
- 帖子
- 132
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
我改了下计时器脚本,加了2个功能:
1、战斗倒计时系统,在倒计时为0秒时主角自动开始攻击,这个目前没有发现问题。
2、加了一个图片显示的功能,公共事件里,当68号开关打开时,计时器倒计时开始工作并显示这个图片,
当68号开关关闭时(当倒计时为0秒时),计时器停止并且图片消失。
我的问题有2个:
1、当进入战斗时,计时器工作正常,可是战斗画面上出现了2个一样的这个图片,右上角的这个是我想要显示的,仔细看,另一个图片在正中上部的这个图片是怎么回事?有截图在下面。脚本在截图的下面。
2、计时器在战斗结束后不显示计时时间也不显示这个图片了?
#============================================================================== # ■ Sprite_Timer #------------------------------------------------------------------------------ # 显示计时器用的活动块。监视 $game_system 、活动块状态 # 自动变化。 #============================================================================== class Sprite_Timer < Sprite #-------------------------------------------------------------------------- # ● 初始化对像 #-------------------------------------------------------------------------- def initialize super self.bitmap = Bitmap.new(88, 80) self.bitmap.font.name = "宋体"#"Arial" self.bitmap.font.size = 14 self.x = 640 - self.bitmap.width + 14 self.y = 50 + 3 self.z = 500 # 战斗计时系统★★★★★★★★★★★★★★★★★★★★★★★★★ if $game_temp.in_battle self.bitmap.font.size = 80 self.x = 260 self.y = 10 self.z = 500 end # ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ update end #-------------------------------------------------------------------------- # ● 释放 #-------------------------------------------------------------------------- def dispose if self.bitmap != nil self.bitmap.dispose end super end #-------------------------------------------------------------------------- # ● 刷新画面 #-------------------------------------------------------------------------- def update super # 设置计时器执行中为可见 self.visible = $game_system.timer_working # 如果有必要再次描绘计时器 if $game_system.timer / Graphics.frame_rate != @total_sec # 清除窗口内容 self.bitmap.clear # 计算总计秒数 @total_sec = $game_system.timer / Graphics.frame_rate # 生成计时器显示用字符串 min = @total_sec / 60 sec = @total_sec % 60 text = sprintf("%02d:%02d", min, sec) if $game_temp.in_battle text = sprintf("%02d", sec) end # 描绘计时器 self.bitmap.font.color.set(255, 255, 255) if $game_switches[68] self.bitmap.font.color.set(255, 228, 0) @syx_icon = RPG::Cache.icon("摄妖香-图标") self.bitmap.blt(32, 0, @syx_icon, Rect.new(0, 0, 22, 22)) self.bitmap.draw_text(0, 25, 88, 15, text, 1)#(self.bitmap.rect, text, 1) end if $game_temp.in_battle if sec >= 0 self.bitmap.font.color.set(255, 0, 0) self.bitmap.draw_text(self.bitmap.rect, text, 1) else self.bitmap.font.color.set(255, 0, 0) self.bitmap.draw_text(self.bitmap.rect, text, 1) end end # ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ end end end
#==============================================================================
# ■ Sprite_Timer
#------------------------------------------------------------------------------
# 显示计时器用的活动块。监视 $game_system 、活动块状态
# 自动变化。
#==============================================================================
class Sprite_Timer < Sprite
#--------------------------------------------------------------------------
# ● 初始化对像
#--------------------------------------------------------------------------
def initialize
super
self.bitmap = Bitmap.new(88, 80)
self.bitmap.font.name = "宋体"#"Arial"
self.bitmap.font.size = 14
self.x = 640 - self.bitmap.width + 14
self.y = 50 + 3
self.z = 500
# 战斗计时系统★★★★★★★★★★★★★★★★★★★★★★★★★
if $game_temp.in_battle
self.bitmap.font.size = 80
self.x = 260
self.y = 10
self.z = 500
end
# ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
update
end
#--------------------------------------------------------------------------
# ● 释放
#--------------------------------------------------------------------------
def dispose
if self.bitmap != nil
self.bitmap.dispose
end
super
end
#--------------------------------------------------------------------------
# ● 刷新画面
#--------------------------------------------------------------------------
def update
super
# 设置计时器执行中为可见
self.visible = $game_system.timer_working
# 如果有必要再次描绘计时器
if $game_system.timer / Graphics.frame_rate != @total_sec
# 清除窗口内容
self.bitmap.clear
# 计算总计秒数
@total_sec = $game_system.timer / Graphics.frame_rate
# 生成计时器显示用字符串
min = @total_sec / 60
sec = @total_sec % 60
text = sprintf("%02d:%02d", min, sec)
if $game_temp.in_battle
text = sprintf("%02d", sec)
end
# 描绘计时器
self.bitmap.font.color.set(255, 255, 255)
if $game_switches[68]
self.bitmap.font.color.set(255, 228, 0)
@syx_icon = RPG::Cache.icon("摄妖香-图标")
self.bitmap.blt(32, 0, @syx_icon, Rect.new(0, 0, 22, 22))
self.bitmap.draw_text(0, 25, 88, 15, text, 1)#(self.bitmap.rect, text, 1)
end
if $game_temp.in_battle
if sec >= 0
self.bitmap.font.color.set(255, 0, 0)
self.bitmap.draw_text(self.bitmap.rect, text, 1)
else
self.bitmap.font.color.set(255, 0, 0)
self.bitmap.draw_text(self.bitmap.rect, text, 1)
end
end
# ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
end
end
end
|
|