Save-Point
Custom meter problem - Printable Version

+- Save-Point (https://www.save-point.org)
+-- Forum: Games Development (https://www.save-point.org/forum-4.html)
+--- Forum: Code Support (https://www.save-point.org/forum-20.html)
+--- Thread: Custom meter problem (/thread-4775.html)

Pages: 1 2


RE: Custom meter problem - DerVVulfman - 08-11-2013

I'll need to see your HP Bar resource.


RE: Custom meter problem - daylights - 08-11-2013

[Image: 537796hearthp.png]


RE: Custom meter problem - DerVVulfman - 08-12-2013

Well, I guess you couldn't rotate THAT windowskin. So.....

Added this value:
Code:
HP_Meter_Fill = false

And here's the revision:
Code:
#--------------------------------------------------------------------------
  # * Draw HP
  #     actor : actor
  #     x     : draw spot x-coordinate
  #     y     : draw spot y-coordinate
  #     width : draw spot width
  #--------------------------------------------------------------------------
  alias draw_actor_hp_bar draw_actor_hp
  def draw_actor_hp(actor, x, y, width = 144)
    # Set Bar Position
    bar_x = HP_Pos_Adjust[0] + x
    bar_y = HP_Pos_Adjust[1] + y + (Font.default_size * 2 /3)
    # Acquire bar image and dimensions
    bar_img     = RPG::Cache.windowskin(HP_Meter)
    bar_width   = bar_img.width
    bar_height  = bar_img.height / 3
    # Define source rectangle for bar
    src_rect = Rect.new(0, 0, bar_width, bar_height)
    self.contents.blt(bar_x, bar_y, bar_img, src_rect)
    # Determine which line used in bar image
    self.contents.blt(bar_x, bar_y, bar_img, src_rect)
    # Determine which line used in bar image
    bar_line    = (actor.hp == actor.maxhp) ? 2 : 1
    # Calculate value to adjust drawn line
    bar_start   = bar_line * bar_height
    bar_amount  = bar_height * (actor.hp.to_f / actor.maxhp.to_f)
    # Decide if fill from top or bottom
    diff = (HP_Meter_Fill) ? 0 : bar_height - bar_amount
    # Adjust dimensions of destination rectangle
    src_rect2 = Rect.new( 0, bar_start+diff, bar_width, bar_amount)
    # Draw the bar with the new Rectangle area
    self.contents.blt(bar_x, bar_y+diff, bar_img, src_rect2)
    # Perform the original call
    draw_actor_hp_bar(actor, x, y, width)
  end

The true/false value I added lets the hearts fill from the bottom up, or top down. :)

And with this model, you can adjust the others.


RE: Custom meter problem - daylights - 08-12-2013

Yeah !!! That's work :D !!!!
Thank you for your time DerVVulfman :) !