@Override public void update() { super.update(); float health = (float) Dungeon.hero.HP / Dungeon.hero.HT; if (health == 0) { avatar.tint(0x000000, 0.6f); blood.on = false; } else if (health < 0.25f) { avatar.tint(0xcc0000, 0.4f); blood.on = true; } else { avatar.resetColor(); blood.on = false; } hp.scale.x = health; exp.scale.x = (width / exp.width) * Dungeon.hero.exp / Dungeon.hero.maxExp(); if (Dungeon.hero.lvl != lastLvl) { if (lastLvl != -1) { Emitter emitter = (Emitter) recycle(Emitter.class); emitter.revive(); emitter.pos(27, 27); emitter.burst(Speck.factory(Speck.STAR), 12); } lastLvl = Dungeon.hero.lvl; level.text(Integer.toString(lastLvl)); level.measure(); level.x = PixelScene.align(27.0f - level.width() / 2); level.y = PixelScene.align(27.5f - level.baseLine() / 2); } int k = IronKey.curDepthQuantity; if (k != lastKeys) { lastKeys = k; keys.text(Integer.toString(lastKeys)); keys.measure(); keys.x = width - 8 - keys.width() - 18; } int tier = Dungeon.hero.tier(); if (tier != lastTier) { lastTier = tier; avatar.copy(HeroSprite.avatar(Dungeon.hero.heroClass, tier)); } }
@Override public void update() { super.update(); float shift = Game.elapsed * SCROLL_SPEED; if (reversed) { shift = -shift; } arcsBg.offset(0, shift); arcsFg.offset(0, shift * 2); offsB = arcsBg.offsetY(); offsF = arcsFg.offsetY(); }
@Override public void update() { super.update(); if (target != null && target.isAlive() && target.sprite.visible) { CharSprite sprite = target.sprite; bg.scale.x = sprite.width; level.scale.x = sprite.width * target.HP / target.HT; bg.x = level.x = sprite.x; bg.y = level.y = sprite.y - HEIGHT - 1; visible = true; } else { visible = false; } }