def render(self): self.back.draw() character = self.character width = self.back.scale[0] height = self.back.scale[1] y = self.position #name self.engine.drawText(self.font, character.name, position = (10, y), alignment = "left") #level self.engine.drawText(self.font, "Level: %i" % (character.level), position = (self.engine.w/4, y), alignment = "left") #hp self.engine.drawText(self.font, "HP: %i" % character.hp, position = (self.engine.w/2, y), alignment = "left") #exp for bar in self.bars: bar.draw() self.engine.drawText(self.font, "EXP: %i/%i" % (character.exp, Character._expCalc(character.level)), position = (self.engine.w - 10, y), alignment = "right")
def __init__(self, scene, character, position): self.scene = scene self.engine = scene.engine self.character = character self.position = position scenepath = os.path.join("scenes", "menusystem") self.back = WinObj(Texture(os.path.join(scenepath, "window.png")), self.engine.w, self.engine.h*.1) self.back.setPosition(self.engine.w/2, self.position) self.font = FontObj("default.ttf", size = 16) self.bigFont = FontObj("default.ttf", size = 32) length = 200 self.bars = [BarObj(Texture(os.path.join(scenepath, "bar_bottom.png")), length), BarObj(Texture(os.path.join(scenepath, "exp_bar.png")), length*(character.exp/float(Character._expCalc(character.level)))), BarObj(Texture(os.path.join(scenepath, "bar_top.png")), length)] for bar in self.bars: bar.setPosition(self.engine.w - 10 - length, self.position-10)