- Home /
Progression height affected by the width ? why
Hi, I have been trying to reproduce the following example: http://answers.unity3d.com/questions/27348/health-bar-by-percentage-not-drawing-a-box/29773#29773
Everything works fine, however the problem I have now, is that the health bar height is affected by the percent hp. What I need is to only have the width of the health bar to change.
I do not understand why that happens.
Here is my code:
var nativeVerticalResolution = 1050.0; var nativeHorizontalResolution = 1680.0; var hpframeImage : Texture; var hphealthImage : Texture; var percenthp : float; var maxhp : float; var myhp : float;
function Start() { maxhp = Player_mvmnt_player1.maxhp; myhp = Player_mvmnt_player1.myhp; }
function OnGUI() { GUI.matrix = Matrix4x4. TRS (Vector3.zero, Quaternion.identity, Vector3 (Screen.width / nativeHorizontalResolution, Screen.height / nativeVerticalResolution, 1));
GUI.Label(Rect (10, hpframeImage.height, hpframeImage.width, hpframeImage.height), hpframeImage);
maxhp = Player_mvmnt_player1.maxhp;
myhp = Player_mvmnt_player1.myhp;
percenthp = myhp / maxhp;
GUI.Label(Rect (10, hphealthImage.height, (hphealthImage.width * percenthp), hphealthImage.height ), hphealthImage);
}
Answer by Mike 3 · Dec 02, 2010 at 05:44 PM
Labels are affected by the Label style, which use borders and margins, both changing the size.
Instead, use GUI.DrawTexture, which will draw it exactly where you specify with the Rect
$$anonymous$$any thanks, it works flawlessly now.
I will need to study how to modify the label styles. It somehow re$$anonymous$$ds me of CSS.
Your answer
Follow this Question
Related Questions
Health bar by percentage? (not drawing a box) 4 Answers
Health Bar To Change Size 1 Answer
newbie question how would get the percentage of its original starting value over its current value 1 Answer
Inverse health bar 2 Answers
Health Bar Centering 4 Answers