显示提示框
# 使用方法:在事件中输入脚本 tip("提示内容") 即可 $提示框弹出时间 = 20 class Window_Tip < Window_Base def initialize super(0,300,128,64) self.contents_opacity = 0 self.opacity = 0 self.contents = Bitmap.new(width - 32, height - 32) self.z = 9999 @p = 0 end def refresh text = $game_temp.tipping self.x = (580-(text.to_s.size / 3 * 32))/2 self.width = (text.to_s.size / 3 * 32)+32 self.contents = Bitmap.new(width - 32, height - 32) self.contents.draw_text(0, -2, (text.to_s.size / 3 * 32), 32, text,1) self.opacity=160 case @p when 0..40 self.opacity += 10 self.contents_opacity += 10 when (40 + $提示框弹出时间)..(70 + $提示框弹出时间) self.opacity -= 10 self.contents_opacity -= 10 when (71 + $提示框弹出时间) $game_temp.tipping = nil self.opacity = 0 self.contents_opacity = 0 @p = -1 end @p += 1 end end class Game_Temp attr_accessor :tipping end class Interpreter def tip(text) $game_temp.tipping = text end end class Scene_Map alias b_m main def main @tip = Window_Tip.new b_m @tip.dispose end alias u update def update @tip.refresh if $game_temp.tipping u end end
# 使用方法:在事件中输入脚本 tip("提示内容") 即可
$提示框弹出时间 = 20
class Window_Tip < Window_Base
def initialize
super(0,300,128,64)
self.contents_opacity = 0
self.opacity = 0
self.contents = Bitmap.new(width - 32, height - 32)
self.z = 9999
@p = 0
end
def refresh
text = $game_temp.tipping
self.x = (580-(text.to_s.size / 3 * 32))/2
self.width = (text.to_s.size / 3 * 32)+32
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.draw_text(0, -2, (text.to_s.size / 3 * 32), 32, text,1)
self.opacity=160
case @p
when 0..40
self.opacity += 10
self.contents_opacity += 10
when (40 + $提示框弹出时间)..(70 + $提示框弹出时间)
self.opacity -= 10
self.contents_opacity -= 10
when (71 + $提示框弹出时间)
$game_temp.tipping = nil
self.opacity = 0
self.contents_opacity = 0
@p = -1
end
@p += 1
end
end
class Game_Temp
attr_accessor :tipping
end
class Interpreter
def tip(text)
$game_temp.tipping = text
end
end
class Scene_Map
alias b_m main
def main
@tip = Window_Tip.new
b_m
@tip.dispose
end
alias u update
def update
@tip.refresh if $game_temp.tipping
u
end
end
|