HI,
da ich vor längerer Zeit mal ein geschrieben habe, gebe ich es dir gern.
Die Benutzung ist eigentlich ganz simpel und ist im Header erklärt.
Hoffe es gefällt dir. ^^
module Variable_HUD
# Um weitere Variablen hinzuzufügen, die angezeigt werden sollen,
# musst du nur folgendes machen:
# Füge unter SHOWED_VARIABLES = [
# folgendes ein:
# [Variableid , X-Koordinate, Y-Koordinate, Switchid , "Text"],
# Für jeden EIntrag wird eine Variable angezeigt.
# Variableid = ID der Variable, die angezeigt werden soll
# X-Koordinate = Horizontale Koordinate
# Y-Koordinate = Vertikale Koordinate
# Switchid = ID des Schalters, der die Sichtbarkeit ändert
# "Text" = Text def direkt vor der Variable angezeigt werden soll.
SHOWED_VARIABLES = [
#[Variableid , X-Koordinate, Y-Koordinate, Switchid , "Text"],
[1 , 10 , 10 , 1 , "HP "],
[2 , 10 , 40 , 2 , "MP "],
] # <= Nicht löschen!
# Ein simples Beispiel:
# Nehmen wir an, dass der Wert der ersten Variable 100 wäre, und der Text
# "HP" wäre.
# Das Ergebnis wäre: HP 100
# Ist kein Text vorhanden ("") so wird dieser ausgelassen.
end
include Variable_HUD
class Variable_HUD_Sprite
def initialize
@hud = Sprite.new
@hud.bitmap = Bitmap.new(544,416)
@values = []
for i in SHOWED_VARIABLES
@values[i[0]] = []
@values[i[0]][0] = $game_variables[i[0]]
@values[i[0]][1] = $game_switches[i[3]]
end
refresh
end
def refresh
@hud.bitmap.clear
for i in SHOWED_VARIABLES
next if !$game_switches[i[3]]
@hud.bitmap.draw_text(i[1],i[2],@hud.bitmap.text_size(i[4]).width,24,i[4],0)
@hud.bitmap.draw_text(i[1]+@hud.bitmap.text_size(i[4]).width,i[2],@hud.bitmap.text_size($game_variables[i[0]].to_s).width,24,$game_variables[i[0]].to_s,0)
end
end
def update
return if !need_update?
refresh
end
def dispose
@hud.dispose
end
def need_update?
for i in SHOWED_VARIABLES
if @values[i[0]][0] != $game_variables[i[0]]
@values[i[0]][0] = $game_variables[i[0]]
return true
elsif @values[i[0]][1] != $game_switches[i[3]]
@values[i[0]][1] = $game_switches[i[3]]
return true
end
end
return false
end
end
class Spriteset_Map
alias create_characters_var_hud create_characters unless $@
def create_characters
create_characters_var_hud
@var_hud = Variable_HUD_Sprite.new
end
alias update_var_hud update unless $@
def update
update_var_hud
@var_hud.update
end
alias dispose_var_hud dispose unless $@
def dispose
dispose_var_hud
@var_hud.dispose
end
end
MfG
Deity