#==============================================================================
# ■ Graphics
#------------------------------------------------------------------------------
# 可以提示所有文本,支持所有场景显示。
#------------------------------------------------------------------------------
# 作者:你最珍贵
# 日期:2014-4-5 17:23
# 使用方法:Graphics.tips("")
# 版权说明:转载请保留作者信息,谢谢。
#==============================================================================
class << Graphics
#--------------------------------------------------------------------------
# ● 常量定义
#--------------------------------------------------------------------------
Tips_width = 640 # 底图宽度
Tips_height = 32 # 底图高度
Tips_ShowTime = 60 # 显示时间(最小35,最大不限)
Tips_Color = Color.new(0,0,0,220) # 底图颜色
#---------------------------------------------------------------------------
# ● 提示文本
#---------------------------------------------------------------------------
def tips(text, x = 0, y = 0, color = Color.new(238, 255, 64))
y = (640 - Tips_height) / 2 - 132 if y == 0
x = (480 - Tips_width) / 2 if x == 0
tips_create_bitmap(x, y)
tips_draw_text(text, color)
@tips_sprite.opacity = 255
@tips_time = Tips_ShowTime
end
#---------------------------------------------------------------------------
# ● 提示文本
#---------------------------------------------------------------------------
def tips_draw_text(text, color)
@tips_bitmap.font.size = 25
@tips_bitmap.font.color = color
cw = @tips_bitmap.text_size(text).width
@tips_bitmap.fill_rect(0,0,Tips_width, Tips_height,Tips_Color)
@tips_bitmap.draw_text(0,0,Tips_width,Tips_height,text,1)
end
#---------------------------------------------------------------------------
# ● 创建精灵位图
#---------------------------------------------------------------------------
def tips_create_bitmap(x, y)
if @tips_sprite.nil? or @tips_sprite.disposed?
@tips_sprite = Sprite.new
@tips_sprite.z = 9999
@tips_bitmap = Bitmap.new(Tips_width, Tips_height)
@tips_sprite.bitmap = @tips_bitmap
end
@tips_sprite.x, @tips_sprite.y = x, y
end
#---------------------------------------------------------------------------
# ● 刷新提示信息
#---------------------------------------------------------------------------
alias tips_update update
def update
tips_update
unless @tips_sprite.nil? or @tips_sprite.disposed?
if @tips_time and @tips_time > 0
@tips_sprite.opacity -= 8 if @tips_time <= 35
@tips_time -= 1
end
end
end
end