Sire Modérateur de l'ombre
Nombre de messages : 67 Age : 32 Niveau RPG Maker : Noob de 1er classe -_- Date d'inscription : 01/04/2007
Feuille de personnage Karma: (70/100) Light points: (70/100) Dark points: (0/100)
| Sujet: Affichage Barre de Vie / Sp sur la Map Dim 1 Avr - 2:37 | |
| -|- Je vais poster encore un script qui permet d'affichier une barre de vie - sp sur la map. -|- <1> Copiez cette image dans votre projet -> Pictures. <1> <2> Créez un nouveau script au-dessus de "main". <2> <3> Nommez-le "Scene_Map". <3> <4> Collez-y ce script ci-dessous. <4> - Citation :
- #-----------------------------------------------------------------
class Scene_Map #----------------------------------------------------------------- alias sk_bar_main main def main @bars = Window_Sk_Bars.new sk_bar_main @bars.dispose if @bars != nil end #----------------------------------------------------------------- alias sk_bar_update update def update @bars.update sk_bar_update end #----------------------------------------------------------------- end #----------------------------------------------------------------- class Window_Base < Window #----------------------------------------------------------------- def sk_initialize(font=0,size=22) font = "Tahoma" if font == 0 self.contents = Bitmap.new(self.width-32,self.height-32) self.contents.font.name = font self.contents.font.size = size end #----------------------------------------------------------------- def draw_text_outline(x,y,w,h,str,c=normal_color,a=0) self.contents.font.color = Color.new(0,0,0,255) self.contents.draw_text(x-1,y,w,h,str,a) self.contents.draw_text(x 1,y,w,h,str,a) self.contents.draw_text(x,y 1,w,h,str,a) self.contents.draw_text(x,y-1,w,h,str,a) self.contents.font.color = c self.contents.draw_text(x,y,w,h,str,a) end #----------------------------------------------------------------- end #----------------------------------------------------------------- class Window_Sk_Bars < Window_Base #----------------------------------------------------------------- def initialize super(50,-8,206,96) sk_initialize("Arial") self.opacity = 0 end #----------------------------------------------------------------- def update self.contents.clear actor = $game_party.actors[0] draw_actor_hp(actor,30,0) draw_actor_sp(actor,40,0) end #----------------------------------------------------------------- def draw_actor_hp(actor,x,y) width = 128 y = 4 white = Color.new(255,255,255,255) black = Color.new(98,51,0,255) w = width * actor.hp / actor.maxhp # White border self.contents.fill_rect(x 1, y-1, width-2, 1, white) self.contents.fill_rect(x, y, width, 1, white) self.contents.fill_rect(x-1, y 1, width 2, 9, white) self.contents.fill_rect(x, y 10, width, 1, white) self.contents.fill_rect(x 1, y 11, width-2, 1, white) # Black back self.contents.fill_rect(x 2, y, width-4, 1, black) self.contents.fill_rect(x 1, y 1, width-2, 1, black) self.contents.fill_rect(x, y 2, width, 7, black) self.contents.fill_rect(x 1, y 9, width-2, 1, black) self.contents.fill_rect(x 2, y 10, width-4, 1, black) # Generating the color val = 255 * ((actor.hp*100)/actor.maxhp) green = 255 - val/100 color = Color.new(224,green,0,255) w_color = Color.new(255,green 32,96,255) if green > 64 then green -= 32 elsif green > 128 then green -= 64 end b_color = Color.new(172,green,0,255) # Making the bar self.contents.fill_rect(x 2, y, w-4, 1, w_color) self.contents.fill_rect(x 1, y 1, w-2, 1, w_color) self.contents.fill_rect(x, y 2, w, 7, color) self.contents.fill_rect(x 1, y 9, w-2, 1, color) self.contents.fill_rect(x 2, y 10, w-4, 1, b_color) end #----------------------------------------------------------------- #----------------------------------------------------------------- def draw_actor_sp(actor,x,y) width = 128 y = 20 white = Color.new(255,255,255,255) black = Color.new(98,51,0,255) w = width * actor.sp / actor.maxsp # White border self.contents.fill_rect(x 1, y-1, width-2, 1, white) self.contents.fill_rect(x, y, width, 1, white) self.contents.fill_rect(x-1, y 1, width 2, 9, white) self.contents.fill_rect(x, y 10, width, 1, white) self.contents.fill_rect(x 1, y 11, width-2, 1, white) # Black back self.contents.fill_rect(x 2, y, width-4, 1, black) self.contents.fill_rect(x 1, y 1, width-2, 1, black) self.contents.fill_rect(x, y 2, width, 7, black) self.contents.fill_rect(x 1, y 9, width-2, 1, black) self.contents.fill_rect(x 2, y 10, width-4, 1, black) # Generating the color val = 255 * ((actor.sp*100)/actor.maxsp) blue = - val/100 color = Color.new(224,blue,0,255) w_color = Color.new(255,blue 32,96,255) if blue > 64 then blue -= 32 elsif blue > 128 then blue -= 64 end b_color = Color.new(172,blue,0,255) # Making the bar self.contents.fill_rect(x 2, y, w-4, 1, w_color) self.contents.fill_rect(x 1, y 1, w-2, 1, w_color) self.contents.fill_rect(x, y 2, w, 7, color) self.contents.fill_rect(x 1, y 9, w-2, 1, color) self.contents.fill_rect(x 2, y 10, w-4, 1, b_color) end #----------------------------------------------------------------- end #----------------------------------------------------------------- Pour afficher l'image, faites "afficher une image" grâce au commande d'évènement et sélectionner l'image prit ci-dessus, inutile de faire des changements dans les coordonnées ... | |
|