- Home /
How to use this script for a depleting fuel bar as you thrust with a rocket
using UnityEngine;
using System.Collections;
public class Progress : MonoBehaviour {
public float barDisplay; //current progress
public Vector2 pos = new Vector2(20,40);
public Vector2 size = new Vector2(60,20);
public Texture2D emptyTex;
public Texture2D fullTex;
void OnGUI() {
//draw the background:
GUI.BeginGroup(new Rect(pos.x, pos.y, size.x, size.y));
GUI.Box(new Rect(0,0, size.x, size.y), emptyTex);
//draw the filled-in part:
GUI.BeginGroup(new Rect(0,0, size.x * barDisplay, size.y));
GUI.Box(new Rect(0,0, size.x, size.y), fullTex);
GUI.EndGroup();
GUI.EndGroup();
}
void Update() {
//for this example, the bar display is linked to the current time,
//however you would set this value based on your desired display
//eg, the loading progress, the player's health, or whatever.
barDisplay = Time.time*0.05f;
// barDisplay = MyControlScript.staticHealth;
}
}
So this code is from another question response on this site itself. Im a newb, so i could use some help. If i just use it as is, attach it to my rocket gameobject and set the float fuel = barDisplay it only depletes the bar after the fuel bar hits 0, which coincidentally is the point in my code that i disable the thrusting movement function and invoke my Death() after a few seconds just in case the player is on a friendly platform like the launcher in my game.
Answer by Papouc · Jul 07, 2018 at 11:01 AM
I think that you need to edit your script a bit. So 1) replace your texture 2d with images or just make another variables 2) Then just make your filled image of type "Filled" 3) yourImage.fillAmount = some float decreasing its value over time 4) make a float :
Ienumerator decrese() { Yield return new waitForSeconds (0.5f) YourFloat - = some decrease value } 5) Start corutine in Update method : StartCorutine(decrese() )
Hope it helps
Thanks for the help i think I'll be able to figure it out now
Your answer
Follow this Question
Related Questions
Displaying varying text 1 Answer
GUI Overlay Display 0 Answers
Background shines through on Android 0 Answers
Why does the font selected for my GUI Skin not display correctly? 1 Answer
Make accented letters show in text field on Android? 2 Answers