Project1
标题:
请问计时器的问题
[打印本页]
作者:
kvkv97
时间:
2023-11-1 21:23
标题:
请问计时器的问题
#=========================================================
# ■ Sprite_Timer
#------------------------------------------------------------------------------
# 显示计时器用的活动块。监视 $game_system 、活动块状态
# 自动变化。
#=========================================================
class Sprite_Timer < Sprite
#--------------------------------------------------------------------------
# ● 初始化对像
#--------------------------------------------------------------------------
def initialize
super
self.bitmap = Bitmap.new(88, 48)
self.bitmap.font.name ="Arial"
self.bitmap.font.size = 32
self.x = 640 - self.bitmap.width
self.y = 0
self.z = 500
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)
# 描绘计时器
self.bitmap.font.color.set(255, 255, 255)
##### self.bitmap.draw_text(self.bitmap.rect, text, 1)
end
end
end
请问:问题1:
self.bitmap.draw_text(self.bitmap.rect, text, 1)里面的self.bitmap.rect的X坐标和Y坐标在什么地方?或者说,它不需要指定X和Y坐标?
在Sprite_Timer类中,self.x是Sprite_Timer对象的X坐标,而不是self.bitmap的X坐标。
问题2:
解释器设定的时间是$game_system.timer = @parameters[1] * Graphics.frame_rate,而同时,$game_system里面的timer更新速度是-1,那不是不同步了吗?
作者:
srwjrevenger
时间:
2023-11-3 22:56
self.bitmap.draw_text(self.bitmap.rect, text, 1)里面的self.bitmap.rect的X坐标和Y坐标在什么地方?或者说,它不需要指定X和Y坐标?
self.bitmap.rect的x,y,width,height =0,0,self.bitmap的width88, height48
至于为什么?去学帮助文件和默认脚本。
在Sprite_Timer类中,self.x是Sprite_Timer对象的X坐标,而不是self.bitmap的X坐标。
虽然没有self.bitmap.x,但是这里它在屏幕的位置的确是self.x
至于为什么?去学帮助文件和默认脚本。
解释器设定的时间是$game_system.timer = @parameters[1] * Graphics.frame_rate,而同时,$game_system里面的timer更新速度是-1,那不是不同步了吗?
设定完时间之后才是开始时间的变化啊~
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1