1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
| #-----------------------------------------------------------------
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
#----------------------------------------------------------------- |