From 0a5499105119bc7169b1db0cad106b39370fbde1 Mon Sep 17 00:00:00 2001 From: Frank DeMarco Date: Mon, 25 Dec 2017 03:48:36 -0500 Subject: [PATCH] hp --- NS.py | 39 ++++++++++++++++++++++++++---------- resource/HUD_background.png | Bin 0 -> 712 bytes resource/HUD_bar.png | Bin 0 -> 418 bytes 3 files changed, 28 insertions(+), 11 deletions(-) create mode 100644 resource/HUD_background.png create mode 100644 resource/HUD_bar.png diff --git a/NS.py b/NS.py index 6886582..110039e 100644 --- a/NS.py +++ b/NS.py @@ -906,7 +906,7 @@ class Boss(RainbowSprite): dialogue = self.get_game().dialogue dialogue.activate() dialogue.show_text("You'll never be able to block my sword, you lizard slime!" + - " See if you\ncan keep up with these moves!") + " See if you\ncan keep up with these moves!") def reset(self): self.deactivate() @@ -966,6 +966,7 @@ class Boss(RainbowSprite): else: self.get_game().dialogue.deactivate() self.combo() + self.advance_prompt.cancel_first_press() RainbowSprite.update(self) # self.get_display_surface().blit(self.image, (0, 0)) self.sword.update() @@ -1039,12 +1040,20 @@ class Sword(Sprite): class Health(GameChild): - WIDTH = 200 - HEIGHT = 32 - COLOR = "yellow" + TEXT = "HP" + BAR_POSITION = 23, 11 + BACKGROUND_ALPHA = 125 def __init__(self, parent): GameChild.__init__(self, parent) + self.background = Sprite(self) + self.background.load_from_path(self.get_resource("HUD_background.png"), True) + self.label = Sprite(self) + font = Font(self.get_resource("rounded-mplus-1m-bold.ttf"), 24) + text = font.render(self.TEXT, True, Color("white")) + self.label.add_frame(text) + self.label.location.topleft = 2, -2 + self.bar = load(self.get_resource("HUD_bar.png")).convert_alpha() def reset(self): self.amount = 100 @@ -1059,10 +1068,18 @@ class Health(GameChild): self.parent.set_frameset(0) def update(self): - surface = Surface((int(self.WIDTH * (self.amount / 100.0)), self.HEIGHT)) - surface.fill(Color(self.COLOR)) - surface.set_alpha(255) - font = Font(self.get_resource("rounded-mplus-1m-bold.ttf"), 14) - text = font.render("HEALTH", True, Color("black")) - # surface.blit(text, (8, 0)) - self.get_display_surface().blit(surface, (0, 0)) + self.background.update() + self.label.update() + if self.amount > 50: + color = 0, 255, 0 + elif self.amount > 25: + color = Color("orange") + else: + color = Color("red") + mask = Surface(self.bar.get_size(), SRCALPHA) + mask.fill((128, 128, 128)) + mask.fill(color, (0, 0, int(mask.get_width() * (self.amount / 100.0)), + mask.get_height())) + surface = self.bar.copy() + surface.blit(mask, (0, 0), None, BLEND_RGBA_MIN) + self.get_display_surface().blit(surface, self.BAR_POSITION) diff --git a/resource/HUD_background.png b/resource/HUD_background.png new file mode 100644 index 0000000000000000000000000000000000000000..3cf2faad716e2ea550881d7e73fb8ed4dcb1b8b3 GIT binary patch literal 712 zcmeAS@N?(olHy`uVBq!ia0vp^*MQiYgAGXXNLOwKQk(@Ik;M!Q+`=Ht$S`Y;1Oo$8 zm8XkiNX4zUcTanTCW;*R82Ux$_1AsoFJznK4tn*T>QUL^XtAQ>$blt66P8TUn=oZ* z$z?X7v`WkATiu_3pZ)UYZ)u&Mk6FK4rR%L(Glze{rK6kE7?#f4cBcPOlU21~p|z4z zM8I>u(|^=-R%{j)Dw?}Mn#7mVyVxnI3;JMtz_ zpM#st{H{?w2luO*&W@#z<3z-G()Ogj1Iq8onJKLvtDy7Z{?^NS0%BjD*PZ^OrL*F* zvC_M*MGH49D8C;4%s3CeOs2gZQ@N}$SBc33EztOof^LJatMD(nh9V=J2ZgKJRsAtUa z)^4HV_cxj)A2>eKG2*!N>sR7V5?41oYp-?SX(_!C=5j__^Gcg(*jN4U3TtZnf5jf; zK4f*%&*hAi>Xo+All=_=($^+mzV}3;d>v;M|ZOo)^tdVo_^#Q!5+8$OzPvNTN{q`a%COf zb=7ElFW0L>Ro9KgdpUvp92cMgF{kesDXri>&1L*TK}Y+{0t-0NykU(&^CLLHcWBcg kp02|{!ioc^TH~9vo6?Nz%41WP0+S|#r>mdKI;Vst0MN8XP5=M^ literal 0 HcmV?d00001 diff --git a/resource/HUD_bar.png b/resource/HUD_bar.png new file mode 100644 index 0000000000000000000000000000000000000000..9c35dd238d61d46ecdee1087815b802205979604 GIT binary patch literal 418 zcmV;T0bTxyP)c$V#2{udh+xue(_#@pkPX5ji;rbj)@45i^w}Wi*Jj=~EQiDM&MYHJiijOx2D3aD zDp|%Q;Kq4bqEBG5C{e}&ICWl@Y*SLLD6w$^m~~#3=oQ!p(17V!1!_RWnOUM`N!I{_ zCgh&WXvywcW$Zg4BVrzSa9);dPSR8BqThr(c2<_`puLPeCuBsd0GH0o5;cHvN$>49 zi!NoX04L7NlC5`^vDcBk1xz_FOY{sJbz4x!bQ}ZTO1yoW{l=oC+inY;#XEEvE!kDC zGX9v55wQT=J1#42#^yev^2n2=QOx2cGTQT!*k z(#Q*>R M07*qoM6N<$f>0)~6#xJL literal 0 HcmV?d00001